/*
    This file is part of the WebKit open source project.
    This file has been generated by generate-bindings.pl. DO NOT MODIFY!

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public License
    along with this library; see the file COPYING.LIB.  If not, write to
    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.
*/

#include "config.h"

#if ENABLE(WEBGL)

#include "JSWebGLRenderingContext.h"

#include "ExceptionCode.h"
#include "JSDOMBinding.h"
#include "JSHTMLCanvasElement.h"
#include "JSHTMLImageElement.h"
#include "JSHTMLVideoElement.h"
#include "JSImageData.h"
#include "JSWebGLActiveInfo.h"
#include "JSWebGLBuffer.h"
#include "JSWebGLContextAttributes.h"
#include "JSWebGLFramebuffer.h"
#include "JSWebGLProgram.h"
#include "JSWebGLRenderbuffer.h"
#include "JSWebGLShader.h"
#include "JSWebGLShaderPrecisionFormat.h"
#include "JSWebGLTexture.h"
#include "JSWebGLUniformLocation.h"
#include "URL.h"
#include "WebGLActiveInfo.h"
#include "WebGLBuffer.h"
#include "WebGLContextAttributes.h"
#include "WebGLFramebuffer.h"
#include "WebGLProgram.h"
#include "WebGLRenderbuffer.h"
#include "WebGLRenderingContext.h"
#include "WebGLShader.h"
#include "WebGLShaderPrecisionFormat.h"
#include "WebGLTexture.h"
#include "WebGLUniformLocation.h"
#include <runtime/Error.h>
#include <wtf/GetPtr.h>

using namespace JSC;

namespace WebCore {

/* Hash table */

static const HashTableValue JSWebGLRenderingContextTableValues[] =
{
    { "drawingBufferWidth", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDrawingBufferWidth), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "drawingBufferHeight", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDrawingBufferHeight), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "constructor", DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { 0, 0, NoIntrinsic, 0, 0 }
};

static const HashTable JSWebGLRenderingContextTable = { 8, 7, true, JSWebGLRenderingContextTableValues, 0 };
/* Hash table for constructor */

static const HashTableValue JSWebGLRenderingContextConstructorTableValues[] =
{
    { "DEPTH_BUFFER_BIT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_BUFFER_BIT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BUFFER_BIT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BUFFER_BIT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "COLOR_BUFFER_BIT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCOLOR_BUFFER_BIT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "POINTS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextPOINTS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINES", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINES), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINE_LOOP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINE_LOOP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINE_STRIP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINE_STRIP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TRIANGLES", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTRIANGLES), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TRIANGLE_STRIP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTRIANGLE_STRIP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TRIANGLE_FAN", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTRIANGLE_FAN), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ZERO", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextZERO), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SRC_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSRC_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE_MINUS_SRC_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE_MINUS_SRC_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SRC_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSRC_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE_MINUS_SRC_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE_MINUS_SRC_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DST_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDST_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE_MINUS_DST_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE_MINUS_DST_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DST_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDST_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE_MINUS_DST_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE_MINUS_DST_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SRC_ALPHA_SATURATE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSRC_ALPHA_SATURATE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FUNC_ADD", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFUNC_ADD), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_EQUATION", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_EQUATION), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_EQUATION_RGB", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_EQUATION_RGB), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_EQUATION_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_EQUATION_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FUNC_SUBTRACT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFUNC_SUBTRACT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FUNC_REVERSE_SUBTRACT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFUNC_REVERSE_SUBTRACT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_DST_RGB", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_DST_RGB), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_SRC_RGB", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_SRC_RGB), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_DST_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_DST_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_SRC_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_SRC_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CONSTANT_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCONSTANT_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE_MINUS_CONSTANT_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE_MINUS_CONSTANT_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CONSTANT_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCONSTANT_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE_MINUS_CONSTANT_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE_MINUS_CONSTANT_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ARRAY_BUFFER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextARRAY_BUFFER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ELEMENT_ARRAY_BUFFER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextELEMENT_ARRAY_BUFFER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ARRAY_BUFFER_BINDING", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextARRAY_BUFFER_BINDING), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ELEMENT_ARRAY_BUFFER_BINDING", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextELEMENT_ARRAY_BUFFER_BINDING), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STREAM_DRAW", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTREAM_DRAW), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STATIC_DRAW", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTATIC_DRAW), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DYNAMIC_DRAW", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDYNAMIC_DRAW), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BUFFER_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBUFFER_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BUFFER_USAGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBUFFER_USAGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CURRENT_VERTEX_ATTRIB", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCURRENT_VERTEX_ATTRIB), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRONT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRONT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BACK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBACK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRONT_AND_BACK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRONT_AND_BACK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_2D", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_2D), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CULL_FACE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCULL_FACE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DITHER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDITHER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_TEST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_TEST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_TEST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_TEST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SCISSOR_TEST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSCISSOR_TEST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "POLYGON_OFFSET_FILL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextPOLYGON_OFFSET_FILL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLE_ALPHA_TO_COVERAGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLE_ALPHA_TO_COVERAGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLE_COVERAGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLE_COVERAGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NO_ERROR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNO_ERROR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INVALID_ENUM", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINVALID_ENUM), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INVALID_VALUE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINVALID_VALUE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INVALID_OPERATION", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINVALID_OPERATION), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "OUT_OF_MEMORY", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextOUT_OF_MEMORY), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CW", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCW), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CCW", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCCW), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINE_WIDTH", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINE_WIDTH), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ALIASED_POINT_SIZE_RANGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextALIASED_POINT_SIZE_RANGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ALIASED_LINE_WIDTH_RANGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextALIASED_LINE_WIDTH_RANGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CULL_FACE_MODE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCULL_FACE_MODE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRONT_FACE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRONT_FACE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_RANGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_RANGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_WRITEMASK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_WRITEMASK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_CLEAR_VALUE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_CLEAR_VALUE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_FUNC", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_FUNC), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_CLEAR_VALUE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_CLEAR_VALUE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_FUNC", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_FUNC), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_FAIL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_FAIL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_PASS_DEPTH_FAIL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_PASS_DEPTH_FAIL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_PASS_DEPTH_PASS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_PASS_DEPTH_PASS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_REF", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_REF), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_VALUE_MASK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_VALUE_MASK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_WRITEMASK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_WRITEMASK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_FUNC", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_FUNC), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_FAIL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_FAIL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_PASS_DEPTH_FAIL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_PASS_DEPTH_FAIL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_PASS_DEPTH_PASS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_PASS_DEPTH_PASS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_REF", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_REF), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_VALUE_MASK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_VALUE_MASK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_WRITEMASK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_WRITEMASK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VIEWPORT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVIEWPORT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SCISSOR_BOX", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSCISSOR_BOX), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "COLOR_CLEAR_VALUE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCOLOR_CLEAR_VALUE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "COLOR_WRITEMASK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCOLOR_WRITEMASK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNPACK_ALIGNMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNPACK_ALIGNMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "PACK_ALIGNMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextPACK_ALIGNMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_TEXTURE_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_TEXTURE_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_VIEWPORT_DIMS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_VIEWPORT_DIMS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SUBPIXEL_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSUBPIXEL_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RED_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRED_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "GREEN_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextGREEN_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLUE_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLUE_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ALPHA_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextALPHA_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "POLYGON_OFFSET_UNITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextPOLYGON_OFFSET_UNITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "POLYGON_OFFSET_FACTOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextPOLYGON_OFFSET_FACTOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_BINDING_2D", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_BINDING_2D), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLE_BUFFERS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLE_BUFFERS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLES", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLES), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLE_COVERAGE_VALUE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLE_COVERAGE_VALUE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLE_COVERAGE_INVERT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLE_COVERAGE_INVERT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "COMPRESSED_TEXTURE_FORMATS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCOMPRESSED_TEXTURE_FORMATS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DONT_CARE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDONT_CARE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FASTEST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFASTEST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NICEST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNICEST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "GENERATE_MIPMAP_HINT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextGENERATE_MIPMAP_HINT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BYTE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBYTE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNSIGNED_BYTE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNSIGNED_BYTE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SHORT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSHORT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNSIGNED_SHORT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNSIGNED_SHORT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNSIGNED_INT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNSIGNED_INT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_COMPONENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_COMPONENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RGB", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRGB), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RGBA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRGBA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LUMINANCE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLUMINANCE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LUMINANCE_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLUMINANCE_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNSIGNED_SHORT_4_4_4_4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNSIGNED_SHORT_4_4_4_4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNSIGNED_SHORT_5_5_5_1", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNSIGNED_SHORT_5_5_5_1), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNSIGNED_SHORT_5_6_5", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNSIGNED_SHORT_5_6_5), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAGMENT_SHADER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAGMENT_SHADER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_SHADER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_SHADER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_VERTEX_ATTRIBS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_VERTEX_ATTRIBS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_VERTEX_UNIFORM_VECTORS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_VERTEX_UNIFORM_VECTORS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_VARYING_VECTORS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_VARYING_VECTORS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_COMBINED_TEXTURE_IMAGE_UNITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_COMBINED_TEXTURE_IMAGE_UNITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_VERTEX_TEXTURE_IMAGE_UNITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_VERTEX_TEXTURE_IMAGE_UNITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_TEXTURE_IMAGE_UNITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_TEXTURE_IMAGE_UNITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_FRAGMENT_UNIFORM_VECTORS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_FRAGMENT_UNIFORM_VECTORS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SHADER_TYPE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSHADER_TYPE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DELETE_STATUS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDELETE_STATUS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINK_STATUS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINK_STATUS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VALIDATE_STATUS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVALIDATE_STATUS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ATTACHED_SHADERS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextATTACHED_SHADERS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ACTIVE_UNIFORMS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextACTIVE_UNIFORMS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ACTIVE_ATTRIBUTES", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextACTIVE_ATTRIBUTES), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SHADING_LANGUAGE_VERSION", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSHADING_LANGUAGE_VERSION), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CURRENT_PROGRAM", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCURRENT_PROGRAM), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NEVER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNEVER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LESS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLESS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "EQUAL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextEQUAL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LEQUAL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLEQUAL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "GREATER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextGREATER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NOTEQUAL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNOTEQUAL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "GEQUAL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextGEQUAL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ALWAYS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextALWAYS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "KEEP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextKEEP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "REPLACE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextREPLACE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INCR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINCR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DECR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDECR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INVERT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINVERT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INCR_WRAP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINCR_WRAP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DECR_WRAP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDECR_WRAP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VENDOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVENDOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERSION", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERSION), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NEAREST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNEAREST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINEAR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINEAR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NEAREST_MIPMAP_NEAREST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNEAREST_MIPMAP_NEAREST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINEAR_MIPMAP_NEAREST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINEAR_MIPMAP_NEAREST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NEAREST_MIPMAP_LINEAR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNEAREST_MIPMAP_LINEAR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINEAR_MIPMAP_LINEAR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINEAR_MIPMAP_LINEAR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_MAG_FILTER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_MAG_FILTER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_MIN_FILTER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_MIN_FILTER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_WRAP_S", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_WRAP_S), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_WRAP_T", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_WRAP_T), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_BINDING_CUBE_MAP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_BINDING_CUBE_MAP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP_POSITIVE_X", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP_POSITIVE_X), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP_NEGATIVE_X", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP_NEGATIVE_X), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP_POSITIVE_Y", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP_POSITIVE_Y), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP_NEGATIVE_Y", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP_NEGATIVE_Y), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP_POSITIVE_Z", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP_POSITIVE_Z), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP_NEGATIVE_Z", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP_NEGATIVE_Z), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_CUBE_MAP_TEXTURE_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_CUBE_MAP_TEXTURE_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE0", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE0), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE1", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE1), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE2", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE2), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE3", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE3), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE5", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE5), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE6", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE6), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE7", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE7), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE8", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE8), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE9", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE9), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE10", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE10), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE11", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE11), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE12", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE12), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE13", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE13), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE14", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE14), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE15", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE15), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE16", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE16), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE17", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE17), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE18", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE18), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE19", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE19), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE20", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE20), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE21", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE21), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE22", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE22), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE23", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE23), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE24", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE24), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE25", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE25), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE26", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE26), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE27", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE27), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE28", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE28), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE29", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE29), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE30", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE30), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE31", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE31), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ACTIVE_TEXTURE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextACTIVE_TEXTURE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "REPEAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextREPEAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CLAMP_TO_EDGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCLAMP_TO_EDGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MIRRORED_REPEAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMIRRORED_REPEAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT_VEC2", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT_VEC2), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT_VEC3", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT_VEC3), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT_VEC4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT_VEC4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INT_VEC2", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINT_VEC2), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INT_VEC3", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINT_VEC3), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INT_VEC4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINT_VEC4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BOOL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBOOL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BOOL_VEC2", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBOOL_VEC2), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BOOL_VEC3", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBOOL_VEC3), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BOOL_VEC4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBOOL_VEC4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT_MAT2", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT_MAT2), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT_MAT3", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT_MAT3), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT_MAT4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT_MAT4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLER_2D", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLER_2D), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLER_CUBE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLER_CUBE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_ENABLED", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_ENABLED), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_STRIDE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_STRIDE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_TYPE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_TYPE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_NORMALIZED", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_NORMALIZED), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_POINTER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_POINTER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_BUFFER_BINDING), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "COMPILE_STATUS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCOMPILE_STATUS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LOW_FLOAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLOW_FLOAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MEDIUM_FLOAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMEDIUM_FLOAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "HIGH_FLOAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextHIGH_FLOAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LOW_INT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLOW_INT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MEDIUM_INT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMEDIUM_INT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "HIGH_INT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextHIGH_INT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RGBA4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRGBA4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RGB5_A1", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRGB5_A1), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RGB565", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRGB565), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_COMPONENT16", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_COMPONENT16), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_INDEX", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_INDEX), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_INDEX8", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_INDEX8), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_STENCIL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_STENCIL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_WIDTH", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_WIDTH), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_HEIGHT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_HEIGHT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_INTERNAL_FORMAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_INTERNAL_FORMAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_RED_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_RED_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_GREEN_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_GREEN_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_BLUE_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_BLUE_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_ALPHA_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_ALPHA_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_DEPTH_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_DEPTH_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_STENCIL_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_STENCIL_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_ATTACHMENT_OBJECT_TYPE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_ATTACHMENT_OBJECT_NAME), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "COLOR_ATTACHMENT0", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCOLOR_ATTACHMENT0), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_ATTACHMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_ATTACHMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_ATTACHMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_ATTACHMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_STENCIL_ATTACHMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_STENCIL_ATTACHMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NONE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNONE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_COMPLETE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_COMPLETE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_INCOMPLETE_ATTACHMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_INCOMPLETE_DIMENSIONS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_UNSUPPORTED", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_UNSUPPORTED), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_BINDING", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_BINDING), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_BINDING", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_BINDING), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_RENDERBUFFER_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_RENDERBUFFER_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INVALID_FRAMEBUFFER_OPERATION", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINVALID_FRAMEBUFFER_OPERATION), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNPACK_FLIP_Y_WEBGL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNPACK_FLIP_Y_WEBGL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNPACK_PREMULTIPLY_ALPHA_WEBGL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNPACK_PREMULTIPLY_ALPHA_WEBGL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CONTEXT_LOST_WEBGL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCONTEXT_LOST_WEBGL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNPACK_COLORSPACE_CONVERSION_WEBGL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNPACK_COLORSPACE_CONVERSION_WEBGL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BROWSER_DEFAULT_WEBGL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBROWSER_DEFAULT_WEBGL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { 0, 0, NoIntrinsic, 0, 0 }
};

static const HashTable JSWebGLRenderingContextConstructorTable = { 1057, 1023, true, JSWebGLRenderingContextConstructorTableValues, 0 };
const ClassInfo JSWebGLRenderingContextConstructor::s_info = { "WebGLRenderingContextConstructor", &Base::s_info, &JSWebGLRenderingContextConstructorTable, 0, CREATE_METHOD_TABLE(JSWebGLRenderingContextConstructor) };

JSWebGLRenderingContextConstructor::JSWebGLRenderingContextConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
    : DOMConstructorObject(structure, globalObject)
{
}

void JSWebGLRenderingContextConstructor::finishCreation(VM& vm, JSDOMGlobalObject* globalObject)
{
    Base::finishCreation(vm);
    ASSERT(inherits(info()));
    putDirect(vm, vm.propertyNames->prototype, JSWebGLRenderingContextPrototype::self(vm, globalObject), DontDelete | ReadOnly);
    putDirect(vm, vm.propertyNames->length, jsNumber(0), ReadOnly | DontDelete | DontEnum);
}

bool JSWebGLRenderingContextConstructor::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
{
    return getStaticValueSlot<JSWebGLRenderingContextConstructor, JSDOMWrapper>(exec, JSWebGLRenderingContextConstructorTable, jsCast<JSWebGLRenderingContextConstructor*>(object), propertyName, slot);
}

/* Hash table for prototype */

static const HashTableValue JSWebGLRenderingContextPrototypeTableValues[] =
{
    { "DEPTH_BUFFER_BIT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_BUFFER_BIT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BUFFER_BIT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BUFFER_BIT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "COLOR_BUFFER_BIT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCOLOR_BUFFER_BIT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "POINTS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextPOINTS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINES", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINES), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINE_LOOP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINE_LOOP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINE_STRIP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINE_STRIP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TRIANGLES", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTRIANGLES), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TRIANGLE_STRIP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTRIANGLE_STRIP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TRIANGLE_FAN", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTRIANGLE_FAN), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ZERO", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextZERO), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SRC_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSRC_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE_MINUS_SRC_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE_MINUS_SRC_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SRC_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSRC_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE_MINUS_SRC_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE_MINUS_SRC_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DST_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDST_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE_MINUS_DST_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE_MINUS_DST_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DST_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDST_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE_MINUS_DST_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE_MINUS_DST_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SRC_ALPHA_SATURATE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSRC_ALPHA_SATURATE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FUNC_ADD", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFUNC_ADD), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_EQUATION", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_EQUATION), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_EQUATION_RGB", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_EQUATION_RGB), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_EQUATION_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_EQUATION_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FUNC_SUBTRACT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFUNC_SUBTRACT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FUNC_REVERSE_SUBTRACT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFUNC_REVERSE_SUBTRACT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_DST_RGB", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_DST_RGB), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_SRC_RGB", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_SRC_RGB), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_DST_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_DST_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_SRC_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_SRC_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CONSTANT_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCONSTANT_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE_MINUS_CONSTANT_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE_MINUS_CONSTANT_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CONSTANT_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCONSTANT_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ONE_MINUS_CONSTANT_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextONE_MINUS_CONSTANT_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND_COLOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND_COLOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ARRAY_BUFFER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextARRAY_BUFFER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ELEMENT_ARRAY_BUFFER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextELEMENT_ARRAY_BUFFER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ARRAY_BUFFER_BINDING", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextARRAY_BUFFER_BINDING), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ELEMENT_ARRAY_BUFFER_BINDING", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextELEMENT_ARRAY_BUFFER_BINDING), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STREAM_DRAW", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTREAM_DRAW), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STATIC_DRAW", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTATIC_DRAW), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DYNAMIC_DRAW", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDYNAMIC_DRAW), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BUFFER_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBUFFER_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BUFFER_USAGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBUFFER_USAGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CURRENT_VERTEX_ATTRIB", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCURRENT_VERTEX_ATTRIB), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRONT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRONT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BACK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBACK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRONT_AND_BACK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRONT_AND_BACK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_2D", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_2D), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CULL_FACE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCULL_FACE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLEND", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLEND), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DITHER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDITHER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_TEST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_TEST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_TEST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_TEST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SCISSOR_TEST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSCISSOR_TEST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "POLYGON_OFFSET_FILL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextPOLYGON_OFFSET_FILL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLE_ALPHA_TO_COVERAGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLE_ALPHA_TO_COVERAGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLE_COVERAGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLE_COVERAGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NO_ERROR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNO_ERROR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INVALID_ENUM", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINVALID_ENUM), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INVALID_VALUE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINVALID_VALUE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INVALID_OPERATION", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINVALID_OPERATION), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "OUT_OF_MEMORY", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextOUT_OF_MEMORY), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CW", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCW), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CCW", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCCW), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINE_WIDTH", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINE_WIDTH), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ALIASED_POINT_SIZE_RANGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextALIASED_POINT_SIZE_RANGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ALIASED_LINE_WIDTH_RANGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextALIASED_LINE_WIDTH_RANGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CULL_FACE_MODE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCULL_FACE_MODE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRONT_FACE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRONT_FACE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_RANGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_RANGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_WRITEMASK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_WRITEMASK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_CLEAR_VALUE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_CLEAR_VALUE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_FUNC", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_FUNC), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_CLEAR_VALUE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_CLEAR_VALUE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_FUNC", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_FUNC), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_FAIL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_FAIL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_PASS_DEPTH_FAIL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_PASS_DEPTH_FAIL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_PASS_DEPTH_PASS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_PASS_DEPTH_PASS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_REF", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_REF), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_VALUE_MASK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_VALUE_MASK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_WRITEMASK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_WRITEMASK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_FUNC", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_FUNC), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_FAIL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_FAIL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_PASS_DEPTH_FAIL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_PASS_DEPTH_FAIL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_PASS_DEPTH_PASS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_PASS_DEPTH_PASS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_REF", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_REF), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_VALUE_MASK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_VALUE_MASK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BACK_WRITEMASK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BACK_WRITEMASK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VIEWPORT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVIEWPORT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SCISSOR_BOX", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSCISSOR_BOX), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "COLOR_CLEAR_VALUE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCOLOR_CLEAR_VALUE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "COLOR_WRITEMASK", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCOLOR_WRITEMASK), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNPACK_ALIGNMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNPACK_ALIGNMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "PACK_ALIGNMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextPACK_ALIGNMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_TEXTURE_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_TEXTURE_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_VIEWPORT_DIMS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_VIEWPORT_DIMS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SUBPIXEL_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSUBPIXEL_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RED_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRED_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "GREEN_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextGREEN_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BLUE_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBLUE_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ALPHA_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextALPHA_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_BITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_BITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "POLYGON_OFFSET_UNITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextPOLYGON_OFFSET_UNITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "POLYGON_OFFSET_FACTOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextPOLYGON_OFFSET_FACTOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_BINDING_2D", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_BINDING_2D), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLE_BUFFERS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLE_BUFFERS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLES", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLES), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLE_COVERAGE_VALUE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLE_COVERAGE_VALUE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLE_COVERAGE_INVERT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLE_COVERAGE_INVERT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "COMPRESSED_TEXTURE_FORMATS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCOMPRESSED_TEXTURE_FORMATS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DONT_CARE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDONT_CARE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FASTEST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFASTEST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NICEST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNICEST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "GENERATE_MIPMAP_HINT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextGENERATE_MIPMAP_HINT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BYTE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBYTE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNSIGNED_BYTE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNSIGNED_BYTE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SHORT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSHORT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNSIGNED_SHORT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNSIGNED_SHORT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNSIGNED_INT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNSIGNED_INT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_COMPONENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_COMPONENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RGB", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRGB), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RGBA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRGBA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LUMINANCE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLUMINANCE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LUMINANCE_ALPHA", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLUMINANCE_ALPHA), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNSIGNED_SHORT_4_4_4_4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNSIGNED_SHORT_4_4_4_4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNSIGNED_SHORT_5_5_5_1", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNSIGNED_SHORT_5_5_5_1), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNSIGNED_SHORT_5_6_5", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNSIGNED_SHORT_5_6_5), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAGMENT_SHADER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAGMENT_SHADER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_SHADER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_SHADER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_VERTEX_ATTRIBS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_VERTEX_ATTRIBS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_VERTEX_UNIFORM_VECTORS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_VERTEX_UNIFORM_VECTORS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_VARYING_VECTORS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_VARYING_VECTORS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_COMBINED_TEXTURE_IMAGE_UNITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_COMBINED_TEXTURE_IMAGE_UNITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_VERTEX_TEXTURE_IMAGE_UNITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_VERTEX_TEXTURE_IMAGE_UNITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_TEXTURE_IMAGE_UNITS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_TEXTURE_IMAGE_UNITS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_FRAGMENT_UNIFORM_VECTORS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_FRAGMENT_UNIFORM_VECTORS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SHADER_TYPE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSHADER_TYPE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DELETE_STATUS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDELETE_STATUS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINK_STATUS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINK_STATUS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VALIDATE_STATUS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVALIDATE_STATUS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ATTACHED_SHADERS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextATTACHED_SHADERS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ACTIVE_UNIFORMS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextACTIVE_UNIFORMS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ACTIVE_ATTRIBUTES", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextACTIVE_ATTRIBUTES), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SHADING_LANGUAGE_VERSION", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSHADING_LANGUAGE_VERSION), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CURRENT_PROGRAM", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCURRENT_PROGRAM), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NEVER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNEVER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LESS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLESS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "EQUAL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextEQUAL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LEQUAL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLEQUAL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "GREATER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextGREATER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NOTEQUAL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNOTEQUAL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "GEQUAL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextGEQUAL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ALWAYS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextALWAYS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "KEEP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextKEEP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "REPLACE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextREPLACE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INCR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINCR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DECR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDECR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INVERT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINVERT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INCR_WRAP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINCR_WRAP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DECR_WRAP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDECR_WRAP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VENDOR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVENDOR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERSION", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERSION), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NEAREST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNEAREST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINEAR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINEAR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NEAREST_MIPMAP_NEAREST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNEAREST_MIPMAP_NEAREST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINEAR_MIPMAP_NEAREST", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINEAR_MIPMAP_NEAREST), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NEAREST_MIPMAP_LINEAR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNEAREST_MIPMAP_LINEAR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LINEAR_MIPMAP_LINEAR", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLINEAR_MIPMAP_LINEAR), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_MAG_FILTER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_MAG_FILTER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_MIN_FILTER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_MIN_FILTER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_WRAP_S", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_WRAP_S), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_WRAP_T", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_WRAP_T), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_BINDING_CUBE_MAP", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_BINDING_CUBE_MAP), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP_POSITIVE_X", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP_POSITIVE_X), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP_NEGATIVE_X", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP_NEGATIVE_X), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP_POSITIVE_Y", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP_POSITIVE_Y), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP_NEGATIVE_Y", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP_NEGATIVE_Y), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP_POSITIVE_Z", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP_POSITIVE_Z), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE_CUBE_MAP_NEGATIVE_Z", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE_CUBE_MAP_NEGATIVE_Z), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_CUBE_MAP_TEXTURE_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_CUBE_MAP_TEXTURE_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE0", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE0), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE1", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE1), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE2", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE2), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE3", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE3), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE5", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE5), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE6", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE6), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE7", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE7), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE8", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE8), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE9", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE9), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE10", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE10), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE11", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE11), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE12", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE12), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE13", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE13), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE14", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE14), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE15", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE15), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE16", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE16), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE17", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE17), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE18", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE18), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE19", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE19), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE20", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE20), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE21", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE21), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE22", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE22), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE23", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE23), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE24", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE24), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE25", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE25), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE26", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE26), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE27", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE27), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE28", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE28), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE29", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE29), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE30", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE30), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "TEXTURE31", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextTEXTURE31), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "ACTIVE_TEXTURE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextACTIVE_TEXTURE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "REPEAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextREPEAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CLAMP_TO_EDGE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCLAMP_TO_EDGE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MIRRORED_REPEAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMIRRORED_REPEAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT_VEC2", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT_VEC2), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT_VEC3", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT_VEC3), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT_VEC4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT_VEC4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INT_VEC2", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINT_VEC2), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INT_VEC3", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINT_VEC3), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INT_VEC4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINT_VEC4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BOOL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBOOL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BOOL_VEC2", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBOOL_VEC2), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BOOL_VEC3", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBOOL_VEC3), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BOOL_VEC4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBOOL_VEC4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT_MAT2", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT_MAT2), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT_MAT3", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT_MAT3), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FLOAT_MAT4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFLOAT_MAT4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLER_2D", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLER_2D), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "SAMPLER_CUBE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSAMPLER_CUBE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_ENABLED", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_ENABLED), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_STRIDE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_STRIDE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_TYPE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_TYPE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_NORMALIZED", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_NORMALIZED), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_POINTER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_POINTER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_BUFFER_BINDING), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "COMPILE_STATUS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCOMPILE_STATUS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LOW_FLOAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLOW_FLOAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MEDIUM_FLOAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMEDIUM_FLOAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "HIGH_FLOAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextHIGH_FLOAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "LOW_INT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextLOW_INT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MEDIUM_INT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMEDIUM_INT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "HIGH_INT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextHIGH_INT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RGBA4", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRGBA4), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RGB5_A1", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRGB5_A1), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RGB565", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRGB565), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_COMPONENT16", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_COMPONENT16), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_INDEX", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_INDEX), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_INDEX8", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_INDEX8), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_STENCIL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_STENCIL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_WIDTH", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_WIDTH), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_HEIGHT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_HEIGHT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_INTERNAL_FORMAT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_INTERNAL_FORMAT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_RED_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_RED_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_GREEN_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_GREEN_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_BLUE_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_BLUE_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_ALPHA_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_ALPHA_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_DEPTH_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_DEPTH_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_STENCIL_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_STENCIL_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_ATTACHMENT_OBJECT_TYPE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_ATTACHMENT_OBJECT_NAME), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "COLOR_ATTACHMENT0", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCOLOR_ATTACHMENT0), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_ATTACHMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_ATTACHMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "STENCIL_ATTACHMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextSTENCIL_ATTACHMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "DEPTH_STENCIL_ATTACHMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDEPTH_STENCIL_ATTACHMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "NONE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextNONE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_COMPLETE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_COMPLETE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_INCOMPLETE_ATTACHMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_INCOMPLETE_DIMENSIONS), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_UNSUPPORTED", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_UNSUPPORTED), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "FRAMEBUFFER_BINDING", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextFRAMEBUFFER_BINDING), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "RENDERBUFFER_BINDING", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextRENDERBUFFER_BINDING), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "MAX_RENDERBUFFER_SIZE", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextMAX_RENDERBUFFER_SIZE), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "INVALID_FRAMEBUFFER_OPERATION", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextINVALID_FRAMEBUFFER_OPERATION), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNPACK_FLIP_Y_WEBGL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNPACK_FLIP_Y_WEBGL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNPACK_PREMULTIPLY_ALPHA_WEBGL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNPACK_PREMULTIPLY_ALPHA_WEBGL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "CONTEXT_LOST_WEBGL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCONTEXT_LOST_WEBGL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "UNPACK_COLORSPACE_CONVERSION_WEBGL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextUNPACK_COLORSPACE_CONVERSION_WEBGL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "BROWSER_DEFAULT_WEBGL", DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextBROWSER_DEFAULT_WEBGL), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) },
    { "activeTexture", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionActiveTexture), (intptr_t) (1) },
    { "attachShader", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionAttachShader), (intptr_t) (2) },
    { "bindAttribLocation", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionBindAttribLocation), (intptr_t) (3) },
    { "bindBuffer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionBindBuffer), (intptr_t) (2) },
    { "bindFramebuffer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionBindFramebuffer), (intptr_t) (2) },
    { "bindRenderbuffer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionBindRenderbuffer), (intptr_t) (2) },
    { "bindTexture", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionBindTexture), (intptr_t) (2) },
    { "blendColor", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionBlendColor), (intptr_t) (4) },
    { "blendEquation", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionBlendEquation), (intptr_t) (1) },
    { "blendEquationSeparate", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionBlendEquationSeparate), (intptr_t) (2) },
    { "blendFunc", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionBlendFunc), (intptr_t) (2) },
    { "blendFuncSeparate", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionBlendFuncSeparate), (intptr_t) (4) },
    { "bufferData", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionBufferData), (intptr_t) (3) },
    { "bufferSubData", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionBufferSubData), (intptr_t) (3) },
    { "checkFramebufferStatus", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionCheckFramebufferStatus), (intptr_t) (1) },
    { "clear", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionClear), (intptr_t) (1) },
    { "clearColor", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionClearColor), (intptr_t) (4) },
    { "clearDepth", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionClearDepth), (intptr_t) (1) },
    { "clearStencil", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionClearStencil), (intptr_t) (1) },
    { "colorMask", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionColorMask), (intptr_t) (4) },
    { "compileShader", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionCompileShader), (intptr_t) (1) },
    { "compressedTexImage2D", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionCompressedTexImage2D), (intptr_t) (7) },
    { "compressedTexSubImage2D", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionCompressedTexSubImage2D), (intptr_t) (8) },
    { "copyTexImage2D", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionCopyTexImage2D), (intptr_t) (8) },
    { "copyTexSubImage2D", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionCopyTexSubImage2D), (intptr_t) (8) },
    { "createBuffer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionCreateBuffer), (intptr_t) (0) },
    { "createFramebuffer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionCreateFramebuffer), (intptr_t) (0) },
    { "createProgram", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionCreateProgram), (intptr_t) (0) },
    { "createRenderbuffer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionCreateRenderbuffer), (intptr_t) (0) },
    { "createShader", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionCreateShader), (intptr_t) (1) },
    { "createTexture", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionCreateTexture), (intptr_t) (0) },
    { "cullFace", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionCullFace), (intptr_t) (1) },
    { "deleteBuffer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDeleteBuffer), (intptr_t) (1) },
    { "deleteFramebuffer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDeleteFramebuffer), (intptr_t) (1) },
    { "deleteProgram", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDeleteProgram), (intptr_t) (1) },
    { "deleteRenderbuffer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDeleteRenderbuffer), (intptr_t) (1) },
    { "deleteShader", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDeleteShader), (intptr_t) (1) },
    { "deleteTexture", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDeleteTexture), (intptr_t) (1) },
    { "depthFunc", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDepthFunc), (intptr_t) (1) },
    { "depthMask", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDepthMask), (intptr_t) (1) },
    { "depthRange", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDepthRange), (intptr_t) (2) },
    { "detachShader", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDetachShader), (intptr_t) (2) },
    { "disable", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDisable), (intptr_t) (1) },
    { "disableVertexAttribArray", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDisableVertexAttribArray), (intptr_t) (1) },
    { "drawArrays", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDrawArrays), (intptr_t) (3) },
    { "drawElements", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionDrawElements), (intptr_t) (4) },
    { "enable", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionEnable), (intptr_t) (1) },
    { "enableVertexAttribArray", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionEnableVertexAttribArray), (intptr_t) (1) },
    { "finish", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionFinish), (intptr_t) (0) },
    { "flush", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionFlush), (intptr_t) (0) },
    { "framebufferRenderbuffer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionFramebufferRenderbuffer), (intptr_t) (4) },
    { "framebufferTexture2D", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionFramebufferTexture2D), (intptr_t) (5) },
    { "frontFace", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionFrontFace), (intptr_t) (1) },
    { "generateMipmap", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGenerateMipmap), (intptr_t) (1) },
    { "getActiveAttrib", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetActiveAttrib), (intptr_t) (2) },
    { "getActiveUniform", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetActiveUniform), (intptr_t) (2) },
    { "getAttachedShaders", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetAttachedShaders), (intptr_t) (1) },
    { "getAttribLocation", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetAttribLocation), (intptr_t) (2) },
    { "getBufferParameter", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetBufferParameter), (intptr_t) (2) },
    { "getContextAttributes", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetContextAttributes), (intptr_t) (0) },
    { "getError", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetError), (intptr_t) (0) },
    { "getExtension", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetExtension), (intptr_t) (1) },
    { "getFramebufferAttachmentParameter", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetFramebufferAttachmentParameter), (intptr_t) (3) },
    { "getParameter", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetParameter), (intptr_t) (1) },
    { "getProgramParameter", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetProgramParameter), (intptr_t) (2) },
    { "getProgramInfoLog", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetProgramInfoLog), (intptr_t) (1) },
    { "getRenderbufferParameter", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetRenderbufferParameter), (intptr_t) (2) },
    { "getShaderParameter", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetShaderParameter), (intptr_t) (2) },
    { "getShaderInfoLog", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetShaderInfoLog), (intptr_t) (1) },
    { "getShaderPrecisionFormat", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetShaderPrecisionFormat), (intptr_t) (2) },
    { "getShaderSource", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetShaderSource), (intptr_t) (1) },
    { "getSupportedExtensions", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetSupportedExtensions), (intptr_t) (0) },
    { "getTexParameter", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetTexParameter), (intptr_t) (2) },
    { "getUniform", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetUniform), (intptr_t) (2) },
    { "getUniformLocation", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetUniformLocation), (intptr_t) (2) },
    { "getVertexAttrib", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetVertexAttrib), (intptr_t) (2) },
    { "getVertexAttribOffset", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetVertexAttribOffset), (intptr_t) (2) },
    { "hint", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionHint), (intptr_t) (2) },
    { "isBuffer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsBuffer), (intptr_t) (1) },
    { "isContextLost", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsContextLost), (intptr_t) (0) },
    { "isEnabled", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsEnabled), (intptr_t) (1) },
    { "isFramebuffer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsFramebuffer), (intptr_t) (1) },
    { "isProgram", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsProgram), (intptr_t) (1) },
    { "isRenderbuffer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsRenderbuffer), (intptr_t) (1) },
    { "isShader", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsShader), (intptr_t) (1) },
    { "isTexture", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsTexture), (intptr_t) (1) },
    { "lineWidth", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionLineWidth), (intptr_t) (1) },
    { "linkProgram", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionLinkProgram), (intptr_t) (1) },
    { "pixelStorei", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionPixelStorei), (intptr_t) (2) },
    { "polygonOffset", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionPolygonOffset), (intptr_t) (2) },
    { "readPixels", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionReadPixels), (intptr_t) (7) },
    { "releaseShaderCompiler", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionReleaseShaderCompiler), (intptr_t) (0) },
    { "renderbufferStorage", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionRenderbufferStorage), (intptr_t) (4) },
    { "sampleCoverage", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionSampleCoverage), (intptr_t) (2) },
    { "scissor", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionScissor), (intptr_t) (4) },
    { "shaderSource", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionShaderSource), (intptr_t) (2) },
    { "stencilFunc", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionStencilFunc), (intptr_t) (3) },
    { "stencilFuncSeparate", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionStencilFuncSeparate), (intptr_t) (4) },
    { "stencilMask", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionStencilMask), (intptr_t) (1) },
    { "stencilMaskSeparate", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionStencilMaskSeparate), (intptr_t) (2) },
    { "stencilOp", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionStencilOp), (intptr_t) (3) },
    { "stencilOpSeparate", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionStencilOpSeparate), (intptr_t) (4) },
    { "texParameterf", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionTexParameterf), (intptr_t) (3) },
    { "texParameteri", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionTexParameteri), (intptr_t) (3) },
    { "texImage2D", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionTexImage2D), (intptr_t) (9) },
    { "texSubImage2D", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionTexSubImage2D), (intptr_t) (9) },
    { "uniform1f", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform1f), (intptr_t) (2) },
    { "uniform1fv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform1fv), (intptr_t) (2) },
    { "uniform1i", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform1i), (intptr_t) (2) },
    { "uniform1iv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform1iv), (intptr_t) (2) },
    { "uniform2f", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform2f), (intptr_t) (3) },
    { "uniform2fv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform2fv), (intptr_t) (2) },
    { "uniform2i", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform2i), (intptr_t) (3) },
    { "uniform2iv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform2iv), (intptr_t) (2) },
    { "uniform3f", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform3f), (intptr_t) (4) },
    { "uniform3fv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform3fv), (intptr_t) (2) },
    { "uniform3i", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform3i), (intptr_t) (4) },
    { "uniform3iv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform3iv), (intptr_t) (2) },
    { "uniform4f", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform4f), (intptr_t) (5) },
    { "uniform4fv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform4fv), (intptr_t) (2) },
    { "uniform4i", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform4i), (intptr_t) (5) },
    { "uniform4iv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform4iv), (intptr_t) (2) },
    { "uniformMatrix2fv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniformMatrix2fv), (intptr_t) (3) },
    { "uniformMatrix3fv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniformMatrix3fv), (intptr_t) (3) },
    { "uniformMatrix4fv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniformMatrix4fv), (intptr_t) (3) },
    { "useProgram", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionUseProgram), (intptr_t) (1) },
    { "validateProgram", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionValidateProgram), (intptr_t) (1) },
    { "vertexAttrib1f", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib1f), (intptr_t) (2) },
    { "vertexAttrib1fv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib1fv), (intptr_t) (2) },
    { "vertexAttrib2f", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib2f), (intptr_t) (3) },
    { "vertexAttrib2fv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib2fv), (intptr_t) (2) },
    { "vertexAttrib3f", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib3f), (intptr_t) (4) },
    { "vertexAttrib3fv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib3fv), (intptr_t) (2) },
    { "vertexAttrib4f", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib4f), (intptr_t) (5) },
    { "vertexAttrib4fv", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib4fv), (intptr_t) (2) },
    { "vertexAttribPointer", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttribPointer), (intptr_t) (6) },
    { "viewport", JSC::Function, NoIntrinsic, (intptr_t)static_cast<NativeFunction>(jsWebGLRenderingContextPrototypeFunctionViewport), (intptr_t) (4) },
    { 0, 0, NoIntrinsic, 0, 0 }
};

static const HashTable JSWebGLRenderingContextPrototypeTable = { 1099, 1023, true, JSWebGLRenderingContextPrototypeTableValues, 0 };
const ClassInfo JSWebGLRenderingContextPrototype::s_info = { "WebGLRenderingContextPrototype", &Base::s_info, &JSWebGLRenderingContextPrototypeTable, 0, CREATE_METHOD_TABLE(JSWebGLRenderingContextPrototype) };

JSObject* JSWebGLRenderingContextPrototype::self(VM& vm, JSGlobalObject* globalObject)
{
    return getDOMPrototype<JSWebGLRenderingContext>(vm, globalObject);
}

bool JSWebGLRenderingContextPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
{
    JSWebGLRenderingContextPrototype* thisObject = jsCast<JSWebGLRenderingContextPrototype*>(object);
    return getStaticPropertySlot<JSWebGLRenderingContextPrototype, JSObject>(exec, JSWebGLRenderingContextPrototypeTable, thisObject, propertyName, slot);
}

const ClassInfo JSWebGLRenderingContext::s_info = { "WebGLRenderingContext", &Base::s_info, &JSWebGLRenderingContextTable, 0 , CREATE_METHOD_TABLE(JSWebGLRenderingContext) };

JSWebGLRenderingContext::JSWebGLRenderingContext(Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebGLRenderingContext> impl)
    : JSCanvasRenderingContext(structure, globalObject, impl)
{
}

void JSWebGLRenderingContext::finishCreation(VM& vm)
{
    Base::finishCreation(vm);
    ASSERT(inherits(info()));
}

JSObject* JSWebGLRenderingContext::createPrototype(VM& vm, JSGlobalObject* globalObject)
{
    return JSWebGLRenderingContextPrototype::create(vm, globalObject, JSWebGLRenderingContextPrototype::createStructure(vm, globalObject, JSCanvasRenderingContextPrototype::self(vm, globalObject)));
}

bool JSWebGLRenderingContext::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
{
    JSWebGLRenderingContext* thisObject = jsCast<JSWebGLRenderingContext*>(object);
    ASSERT_GC_OBJECT_INHERITS(thisObject, info());
    return getStaticValueSlot<JSWebGLRenderingContext, Base>(exec, JSWebGLRenderingContextTable, thisObject, propertyName, slot);
}

EncodedJSValue jsWebGLRenderingContextDrawingBufferWidth(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName)
{
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(JSValue::decode(thisValue));
    UNUSED_PARAM(slotBase);
    if (!castedThis)
        return throwVMTypeError(exec);
    UNUSED_PARAM(exec);
    WebGLRenderingContext& impl = castedThis->impl();
    JSValue result = jsNumber(impl.drawingBufferWidth());
    return JSValue::encode(result);
}


EncodedJSValue jsWebGLRenderingContextDrawingBufferHeight(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName)
{
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(JSValue::decode(thisValue));
    UNUSED_PARAM(slotBase);
    if (!castedThis)
        return throwVMTypeError(exec);
    UNUSED_PARAM(exec);
    WebGLRenderingContext& impl = castedThis->impl();
    JSValue result = jsNumber(impl.drawingBufferHeight());
    return JSValue::encode(result);
}


EncodedJSValue jsWebGLRenderingContextConstructor(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue, PropertyName)
{
    JSWebGLRenderingContext* domObject = jsDynamicCast<JSWebGLRenderingContext*>(JSValue::decode(thisValue));
    if (!domObject)
        return throwVMTypeError(exec);
    if (!domObject)
        return throwVMTypeError(exec);
    return JSValue::encode(JSWebGLRenderingContext::getConstructor(exec->vm(), domObject->globalObject()));
}

JSValue JSWebGLRenderingContext::getConstructor(VM& vm, JSGlobalObject* globalObject)
{
    return getDOMConstructor<JSWebGLRenderingContextConstructor>(vm, jsCast<JSDOMGlobalObject*>(globalObject));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionActiveTexture(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned texture(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.activeTexture(texture, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionAttachShader(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
        return throwVMTypeError(exec);
    WebGLProgram* program(toWebGLProgram(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 1 && !exec->argument(1).isUndefinedOrNull() && !exec->argument(1).inherits(JSWebGLShader::info()))
        return throwVMTypeError(exec);
    WebGLShader* shader(toWebGLShader(exec->argument(1)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.attachShader(program, shader, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindAttribLocation(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
        return throwVMTypeError(exec);
    WebGLProgram* program(toWebGLProgram(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned index(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    const String& name(exec->argument(2).isEmpty() ? String() : exec->argument(2).toString(exec)->value(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.bindAttribLocation(program, index, name, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindBuffer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 1 && !exec->argument(1).isUndefinedOrNull() && !exec->argument(1).inherits(JSWebGLBuffer::info()))
        return throwVMTypeError(exec);
    WebGLBuffer* buffer(toWebGLBuffer(exec->argument(1)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.bindBuffer(target, buffer, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindFramebuffer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 1 && !exec->argument(1).isUndefinedOrNull() && !exec->argument(1).inherits(JSWebGLFramebuffer::info()))
        return throwVMTypeError(exec);
    WebGLFramebuffer* framebuffer(toWebGLFramebuffer(exec->argument(1)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.bindFramebuffer(target, framebuffer, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindRenderbuffer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 1 && !exec->argument(1).isUndefinedOrNull() && !exec->argument(1).inherits(JSWebGLRenderbuffer::info()))
        return throwVMTypeError(exec);
    WebGLRenderbuffer* renderbuffer(toWebGLRenderbuffer(exec->argument(1)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.bindRenderbuffer(target, renderbuffer, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindTexture(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 1 && !exec->argument(1).isUndefinedOrNull() && !exec->argument(1).inherits(JSWebGLTexture::info()))
        return throwVMTypeError(exec);
    WebGLTexture* texture(toWebGLTexture(exec->argument(1)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.bindTexture(target, texture, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendColor(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    float red(exec->argument(0).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float green(exec->argument(1).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float blue(exec->argument(2).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float alpha(exec->argument(3).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.blendColor(red, green, blue, alpha);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendEquation(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned mode(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.blendEquation(mode);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendEquationSeparate(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned modeRGB(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned modeAlpha(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.blendEquationSeparate(modeRGB, modeAlpha);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendFunc(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned sfactor(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned dfactor(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.blendFunc(sfactor, dfactor);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendFuncSeparate(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned srcRGB(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned dstRGB(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned srcAlpha(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned dstAlpha(toUInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
    return JSValue::encode(jsUndefined());
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBufferData1(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    ArrayBuffer* data(toArrayBuffer(exec->argument(1)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned usage(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.bufferData(target, data, usage, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBufferData2(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    RefPtr<ArrayBufferView> data(toArrayBufferView(exec->argument(1)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned usage(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.bufferData(target, data.get(), usage, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBufferData3(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    long long size(toInt64(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned usage(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.bufferData(target, size, usage, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBufferData(ExecState* exec)
{
    size_t argsCount = exec->argumentCount();
    JSValue arg1(exec->argument(1));
    if ((argsCount == 3 && (arg1.isNull() || (arg1.isObject() && asObject(arg1)->inherits(JSArrayBuffer::info())))))
        return jsWebGLRenderingContextPrototypeFunctionBufferData1(exec);
    if ((argsCount == 3 && (arg1.isNull() || (arg1.isObject() && asObject(arg1)->inherits(JSArrayBufferView::info())))))
        return jsWebGLRenderingContextPrototypeFunctionBufferData2(exec);
    if (argsCount == 3)
        return jsWebGLRenderingContextPrototypeFunctionBufferData3(exec);
    if (argsCount < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    return throwVMTypeError(exec);
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBufferSubData1(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    long long offset(toInt64(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    ArrayBuffer* data(toArrayBuffer(exec->argument(2)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.bufferSubData(target, offset, data, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBufferSubData2(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    long long offset(toInt64(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    RefPtr<ArrayBufferView> data(toArrayBufferView(exec->argument(2)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.bufferSubData(target, offset, data.get(), ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBufferSubData(ExecState* exec)
{
    size_t argsCount = exec->argumentCount();
    JSValue arg2(exec->argument(2));
    if ((argsCount == 3 && (arg2.isNull() || (arg2.isObject() && asObject(arg2)->inherits(JSArrayBuffer::info())))))
        return jsWebGLRenderingContextPrototypeFunctionBufferSubData1(exec);
    if ((argsCount == 3 && (arg2.isNull() || (arg2.isObject() && asObject(arg2)->inherits(JSArrayBufferView::info())))))
        return jsWebGLRenderingContextPrototypeFunctionBufferSubData2(exec);
    if (argsCount < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    return throwVMTypeError(exec);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCheckFramebufferStatus(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = jsNumber(impl.checkFramebufferStatus(target));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionClear(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned mask(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.clear(mask);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionClearColor(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    float red(exec->argument(0).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float green(exec->argument(1).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float blue(exec->argument(2).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float alpha(exec->argument(3).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.clearColor(red, green, blue, alpha);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionClearDepth(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    float depth(exec->argument(0).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.clearDepth(depth);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionClearStencil(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    int s(toInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.clearStencil(s);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionColorMask(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    bool red(exec->argument(0).toBoolean(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    bool green(exec->argument(1).toBoolean(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    bool blue(exec->argument(2).toBoolean(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    bool alpha(exec->argument(3).toBoolean(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.colorMask(red, green, blue, alpha);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCompileShader(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLShader::info()))
        return throwVMTypeError(exec);
    WebGLShader* shader(toWebGLShader(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.compileShader(shader, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCompressedTexImage2D(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 7)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned internalformat(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int width(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int height(toInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int border(toInt32(exec, exec->argument(5), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    RefPtr<ArrayBufferView> data(toArrayBufferView(exec->argument(6)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.compressedTexImage2D(target, level, internalformat, width, height, border, data.get());
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCompressedTexSubImage2D(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 8)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int xoffset(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int yoffset(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int width(toInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int height(toInt32(exec, exec->argument(5), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned format(toUInt32(exec, exec->argument(6), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    RefPtr<ArrayBufferView> data(toArrayBufferView(exec->argument(7)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, data.get());
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCopyTexImage2D(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 8)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned internalformat(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int x(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int y(toInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int width(toInt32(exec, exec->argument(5), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int height(toInt32(exec, exec->argument(6), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int border(toInt32(exec, exec->argument(7), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.copyTexImage2D(target, level, internalformat, x, y, width, height, border);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCopyTexSubImage2D(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 8)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int xoffset(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int yoffset(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int x(toInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int y(toInt32(exec, exec->argument(5), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int width(toInt32(exec, exec->argument(6), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int height(toInt32(exec, exec->argument(7), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateBuffer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();

    JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl.createBuffer()));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateFramebuffer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();

    JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl.createFramebuffer()));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateProgram(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();

    JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl.createProgram()));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateRenderbuffer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();

    JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl.createRenderbuffer()));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateShader(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned type(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl.createShader(type, ec)));
    setDOMException(exec, ec);
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateTexture(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();

    JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl.createTexture()));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCullFace(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned mode(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.cullFace(mode);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteBuffer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLBuffer::info()))
        return throwVMTypeError(exec);
    WebGLBuffer* buffer(toWebGLBuffer(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.deleteBuffer(buffer);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteFramebuffer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLFramebuffer::info()))
        return throwVMTypeError(exec);
    WebGLFramebuffer* framebuffer(toWebGLFramebuffer(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.deleteFramebuffer(framebuffer);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteProgram(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
        return throwVMTypeError(exec);
    WebGLProgram* program(toWebGLProgram(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.deleteProgram(program);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteRenderbuffer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLRenderbuffer::info()))
        return throwVMTypeError(exec);
    WebGLRenderbuffer* renderbuffer(toWebGLRenderbuffer(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.deleteRenderbuffer(renderbuffer);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteShader(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLShader::info()))
        return throwVMTypeError(exec);
    WebGLShader* shader(toWebGLShader(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.deleteShader(shader);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteTexture(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLTexture::info()))
        return throwVMTypeError(exec);
    WebGLTexture* texture(toWebGLTexture(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.deleteTexture(texture);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDepthFunc(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned func(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.depthFunc(func);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDepthMask(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    bool flag(exec->argument(0).toBoolean(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.depthMask(flag);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDepthRange(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    float zNear(exec->argument(0).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float zFar(exec->argument(1).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.depthRange(zNear, zFar);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDetachShader(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
        return throwVMTypeError(exec);
    WebGLProgram* program(toWebGLProgram(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 1 && !exec->argument(1).isUndefinedOrNull() && !exec->argument(1).inherits(JSWebGLShader::info()))
        return throwVMTypeError(exec);
    WebGLShader* shader(toWebGLShader(exec->argument(1)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.detachShader(program, shader, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDisable(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned cap(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.disable(cap);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDisableVertexAttribArray(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned index(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.disableVertexAttribArray(index, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDrawArrays(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned mode(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int first(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int count(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.drawArrays(mode, first, count, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDrawElements(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned mode(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int count(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned type(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    long long offset(toInt64(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.drawElements(mode, count, type, offset, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionEnable(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned cap(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.enable(cap);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionEnableVertexAttribArray(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned index(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.enableVertexAttribArray(index, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFinish(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    impl.finish();
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFlush(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    impl.flush();
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFramebufferRenderbuffer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned attachment(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned renderbuffertarget(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 3 && !exec->argument(3).isUndefinedOrNull() && !exec->argument(3).inherits(JSWebGLRenderbuffer::info()))
        return throwVMTypeError(exec);
    WebGLRenderbuffer* renderbuffer(toWebGLRenderbuffer(exec->argument(3)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFramebufferTexture2D(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 5)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned attachment(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned textarget(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 3 && !exec->argument(3).isUndefinedOrNull() && !exec->argument(3).inherits(JSWebGLTexture::info()))
        return throwVMTypeError(exec);
    WebGLTexture* texture(toWebGLTexture(exec->argument(3)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.framebufferTexture2D(target, attachment, textarget, texture, level, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFrontFace(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned mode(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.frontFace(mode);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGenerateMipmap(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.generateMipmap(target);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetActiveAttrib(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
        return throwVMTypeError(exec);
    WebGLProgram* program(toWebGLProgram(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned index(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl.getActiveAttrib(program, index, ec)));
    setDOMException(exec, ec);
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetActiveUniform(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
        return throwVMTypeError(exec);
    WebGLProgram* program(toWebGLProgram(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned index(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl.getActiveUniform(program, index, ec)));
    setDOMException(exec, ec);
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetAttachedShaders(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->getAttachedShaders(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetAttribLocation(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
        return throwVMTypeError(exec);
    WebGLProgram* program(toWebGLProgram(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    const String& name(exec->argument(1).isEmpty() ? String() : exec->argument(1).toString(exec)->value(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = jsNumber(impl.getAttribLocation(program, name));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetBufferParameter(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->getBufferParameter(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetContextAttributes(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();

    JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl.getContextAttributes()));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetError(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();

    JSC::JSValue result = jsNumber(impl.getError());
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetExtension(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->getExtension(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetFramebufferAttachmentParameter(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->getFramebufferAttachmentParameter(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetParameter(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->getParameter(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetProgramParameter(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->getProgramParameter(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetProgramInfoLog(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
        return throwVMTypeError(exec);
    WebGLProgram* program(toWebGLProgram(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = jsStringOrNull(exec, impl.getProgramInfoLog(program, ec));
    setDOMException(exec, ec);
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetRenderbufferParameter(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->getRenderbufferParameter(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetShaderParameter(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->getShaderParameter(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetShaderInfoLog(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLShader::info()))
        return throwVMTypeError(exec);
    WebGLShader* shader(toWebGLShader(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = jsStringOrNull(exec, impl.getShaderInfoLog(shader, ec));
    setDOMException(exec, ec);
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetShaderPrecisionFormat(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned shadertype(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned precisiontype(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl.getShaderPrecisionFormat(shadertype, precisiontype, ec)));
    setDOMException(exec, ec);
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetShaderSource(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLShader::info()))
        return throwVMTypeError(exec);
    WebGLShader* shader(toWebGLShader(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = jsStringOrNull(exec, impl.getShaderSource(shader, ec));
    setDOMException(exec, ec);
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetSupportedExtensions(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->getSupportedExtensions(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetTexParameter(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->getTexParameter(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetUniform(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->getUniform(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetUniformLocation(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
        return throwVMTypeError(exec);
    WebGLProgram* program(toWebGLProgram(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    const String& name(exec->argument(1).isEmpty() ? String() : exec->argument(1).toString(exec)->value(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl.getUniformLocation(program, name, ec)));
    setDOMException(exec, ec);
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetVertexAttrib(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->getVertexAttrib(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetVertexAttribOffset(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned index(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned pname(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = jsNumber(impl.getVertexAttribOffset(index, pname));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionHint(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned mode(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.hint(target, mode);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsBuffer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLBuffer::info()))
        return throwVMTypeError(exec);
    WebGLBuffer* buffer(toWebGLBuffer(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = jsBoolean(impl.isBuffer(buffer));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsContextLost(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();

    JSC::JSValue result = jsBoolean(impl.isContextLost());
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsEnabled(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned cap(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = jsBoolean(impl.isEnabled(cap));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsFramebuffer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLFramebuffer::info()))
        return throwVMTypeError(exec);
    WebGLFramebuffer* framebuffer(toWebGLFramebuffer(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = jsBoolean(impl.isFramebuffer(framebuffer));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsProgram(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
        return throwVMTypeError(exec);
    WebGLProgram* program(toWebGLProgram(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = jsBoolean(impl.isProgram(program));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsRenderbuffer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLRenderbuffer::info()))
        return throwVMTypeError(exec);
    WebGLRenderbuffer* renderbuffer(toWebGLRenderbuffer(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = jsBoolean(impl.isRenderbuffer(renderbuffer));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsShader(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLShader::info()))
        return throwVMTypeError(exec);
    WebGLShader* shader(toWebGLShader(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = jsBoolean(impl.isShader(shader));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsTexture(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLTexture::info()))
        return throwVMTypeError(exec);
    WebGLTexture* texture(toWebGLTexture(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());

    JSC::JSValue result = jsBoolean(impl.isTexture(texture));
    return JSValue::encode(result);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionLineWidth(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    float width(exec->argument(0).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.lineWidth(width);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionLinkProgram(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
        return throwVMTypeError(exec);
    WebGLProgram* program(toWebGLProgram(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.linkProgram(program, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionPixelStorei(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned pname(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int param(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.pixelStorei(pname, param);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionPolygonOffset(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    float factor(exec->argument(0).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float units(exec->argument(1).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.polygonOffset(factor, units);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionReadPixels(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 7)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    int x(toInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int y(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int width(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int height(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned format(toUInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned type(toUInt32(exec, exec->argument(5), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    RefPtr<ArrayBufferView> pixels(toArrayBufferView(exec->argument(6)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.readPixels(x, y, width, height, format, type, pixels.get(), ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionReleaseShaderCompiler(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    impl.releaseShaderCompiler();
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionRenderbufferStorage(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned internalformat(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int width(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int height(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.renderbufferStorage(target, internalformat, width, height);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionSampleCoverage(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    float value(exec->argument(0).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    bool invert(exec->argument(1).toBoolean(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.sampleCoverage(value, invert);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionScissor(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    int x(toInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int y(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int width(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int height(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.scissor(x, y, width, height);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionShaderSource(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLShader::info()))
        return throwVMTypeError(exec);
    WebGLShader* shader(toWebGLShader(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    const String& string(exec->argument(1).isEmpty() ? String() : exec->argument(1).toString(exec)->value(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.shaderSource(shader, string, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilFunc(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned func(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int ref(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned mask(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.stencilFunc(func, ref, mask);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilFuncSeparate(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned face(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned func(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int ref(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned mask(toUInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.stencilFuncSeparate(face, func, ref, mask);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilMask(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned mask(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.stencilMask(mask);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilMaskSeparate(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned face(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned mask(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.stencilMaskSeparate(face, mask);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilOp(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned fail(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned zfail(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned zpass(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.stencilOp(fail, zfail, zpass);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilOpSeparate(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned face(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned fail(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned zfail(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned zpass(toUInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.stencilOpSeparate(face, fail, zfail, zpass);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexParameterf(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned pname(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float param(exec->argument(2).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.texParameterf(target, pname, param);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexParameteri(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned pname(toUInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int param(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.texParameteri(target, pname, param);
    return JSValue::encode(jsUndefined());
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexImage2D1(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 9)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned internalformat(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int width(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int height(toInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int border(toInt32(exec, exec->argument(5), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned format(toUInt32(exec, exec->argument(6), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned type(toUInt32(exec, exec->argument(7), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    RefPtr<ArrayBufferView> pixels(toArrayBufferView(exec->argument(8)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.texImage2D(target, level, internalformat, width, height, border, format, type, pixels.get(), ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexImage2D2(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 6)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned internalformat(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned format(toUInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned type(toUInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 5 && !exec->argument(5).isUndefinedOrNull() && !exec->argument(5).inherits(JSImageData::info()))
        return throwVMTypeError(exec);
    ImageData* pixels(toImageData(exec->argument(5)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.texImage2D(target, level, internalformat, format, type, pixels, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexImage2D3(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 6)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned internalformat(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned format(toUInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned type(toUInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 5 && !exec->argument(5).isUndefinedOrNull() && !exec->argument(5).inherits(JSHTMLImageElement::info()))
        return throwVMTypeError(exec);
    HTMLImageElement* image(toHTMLImageElement(exec->argument(5)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.texImage2D(target, level, internalformat, format, type, image, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexImage2D4(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 6)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned internalformat(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned format(toUInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned type(toUInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 5 && !exec->argument(5).isUndefinedOrNull() && !exec->argument(5).inherits(JSHTMLCanvasElement::info()))
        return throwVMTypeError(exec);
    HTMLCanvasElement* canvas(toHTMLCanvasElement(exec->argument(5)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.texImage2D(target, level, internalformat, format, type, canvas, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexImage2D5(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 6)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned internalformat(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned format(toUInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned type(toUInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 5 && !exec->argument(5).isUndefinedOrNull() && !exec->argument(5).inherits(JSHTMLVideoElement::info()))
        return throwVMTypeError(exec);
    HTMLVideoElement* video(toHTMLVideoElement(exec->argument(5)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.texImage2D(target, level, internalformat, format, type, video, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexImage2D(ExecState* exec)
{
    size_t argsCount = exec->argumentCount();
    JSValue arg8(exec->argument(8));
    if ((argsCount == 9 && (arg8.isNull() || (arg8.isObject() && asObject(arg8)->inherits(JSArrayBufferView::info())))))
        return jsWebGLRenderingContextPrototypeFunctionTexImage2D1(exec);
    JSValue arg5(exec->argument(5));
    if ((argsCount == 6 && (arg5.isNull() || (arg5.isObject() && asObject(arg5)->inherits(JSImageData::info())))))
        return jsWebGLRenderingContextPrototypeFunctionTexImage2D2(exec);
    if ((argsCount == 6 && (arg5.isNull() || (arg5.isObject() && asObject(arg5)->inherits(JSHTMLImageElement::info())))))
        return jsWebGLRenderingContextPrototypeFunctionTexImage2D3(exec);
    if ((argsCount == 6 && (arg5.isNull() || (arg5.isObject() && asObject(arg5)->inherits(JSHTMLCanvasElement::info())))))
        return jsWebGLRenderingContextPrototypeFunctionTexImage2D4(exec);
    if ((argsCount == 6 && (arg5.isNull() || (arg5.isObject() && asObject(arg5)->inherits(JSHTMLVideoElement::info())))))
        return jsWebGLRenderingContextPrototypeFunctionTexImage2D5(exec);
    if (argsCount < 6)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    return throwVMTypeError(exec);
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexSubImage2D1(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 9)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int xoffset(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int yoffset(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int width(toInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int height(toInt32(exec, exec->argument(5), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned format(toUInt32(exec, exec->argument(6), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned type(toUInt32(exec, exec->argument(7), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    RefPtr<ArrayBufferView> pixels(toArrayBufferView(exec->argument(8)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels.get(), ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexSubImage2D2(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 7)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int xoffset(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int yoffset(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned format(toUInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned type(toUInt32(exec, exec->argument(5), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 6 && !exec->argument(6).isUndefinedOrNull() && !exec->argument(6).inherits(JSImageData::info()))
        return throwVMTypeError(exec);
    ImageData* pixels(toImageData(exec->argument(6)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.texSubImage2D(target, level, xoffset, yoffset, format, type, pixels, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexSubImage2D3(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 7)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int xoffset(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int yoffset(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned format(toUInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned type(toUInt32(exec, exec->argument(5), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 6 && !exec->argument(6).isUndefinedOrNull() && !exec->argument(6).inherits(JSHTMLImageElement::info()))
        return throwVMTypeError(exec);
    HTMLImageElement* image(toHTMLImageElement(exec->argument(6)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.texSubImage2D(target, level, xoffset, yoffset, format, type, image, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexSubImage2D4(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 7)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int xoffset(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int yoffset(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned format(toUInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned type(toUInt32(exec, exec->argument(5), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 6 && !exec->argument(6).isUndefinedOrNull() && !exec->argument(6).inherits(JSHTMLCanvasElement::info()))
        return throwVMTypeError(exec);
    HTMLCanvasElement* canvas(toHTMLCanvasElement(exec->argument(6)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.texSubImage2D(target, level, xoffset, yoffset, format, type, canvas, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexSubImage2D5(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 7)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned target(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int level(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int xoffset(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int yoffset(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned format(toUInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned type(toUInt32(exec, exec->argument(5), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    if (exec->argumentCount() > 6 && !exec->argument(6).isUndefinedOrNull() && !exec->argument(6).inherits(JSHTMLVideoElement::info()))
        return throwVMTypeError(exec);
    HTMLVideoElement* video(toHTMLVideoElement(exec->argument(6)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.texSubImage2D(target, level, xoffset, yoffset, format, type, video, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexSubImage2D(ExecState* exec)
{
    size_t argsCount = exec->argumentCount();
    JSValue arg8(exec->argument(8));
    if ((argsCount == 9 && (arg8.isNull() || (arg8.isObject() && asObject(arg8)->inherits(JSArrayBufferView::info())))))
        return jsWebGLRenderingContextPrototypeFunctionTexSubImage2D1(exec);
    JSValue arg6(exec->argument(6));
    if ((argsCount == 7 && (arg6.isNull() || (arg6.isObject() && asObject(arg6)->inherits(JSImageData::info())))))
        return jsWebGLRenderingContextPrototypeFunctionTexSubImage2D2(exec);
    if ((argsCount == 7 && (arg6.isNull() || (arg6.isObject() && asObject(arg6)->inherits(JSHTMLImageElement::info())))))
        return jsWebGLRenderingContextPrototypeFunctionTexSubImage2D3(exec);
    if ((argsCount == 7 && (arg6.isNull() || (arg6.isObject() && asObject(arg6)->inherits(JSHTMLCanvasElement::info())))))
        return jsWebGLRenderingContextPrototypeFunctionTexSubImage2D4(exec);
    if ((argsCount == 7 && (arg6.isNull() || (arg6.isObject() && asObject(arg6)->inherits(JSHTMLVideoElement::info())))))
        return jsWebGLRenderingContextPrototypeFunctionTexSubImage2D5(exec);
    if (argsCount < 7)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    return throwVMTypeError(exec);
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform1f(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLUniformLocation::info()))
        return throwVMTypeError(exec);
    WebGLUniformLocation* location(toWebGLUniformLocation(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float x(exec->argument(1).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.uniform1f(location, x, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform1fv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->uniform1fv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform1i(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLUniformLocation::info()))
        return throwVMTypeError(exec);
    WebGLUniformLocation* location(toWebGLUniformLocation(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int x(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.uniform1i(location, x, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform1iv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->uniform1iv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform2f(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLUniformLocation::info()))
        return throwVMTypeError(exec);
    WebGLUniformLocation* location(toWebGLUniformLocation(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float x(exec->argument(1).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float y(exec->argument(2).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.uniform2f(location, x, y, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform2fv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->uniform2fv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform2i(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLUniformLocation::info()))
        return throwVMTypeError(exec);
    WebGLUniformLocation* location(toWebGLUniformLocation(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int x(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int y(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.uniform2i(location, x, y, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform2iv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->uniform2iv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform3f(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLUniformLocation::info()))
        return throwVMTypeError(exec);
    WebGLUniformLocation* location(toWebGLUniformLocation(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float x(exec->argument(1).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float y(exec->argument(2).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float z(exec->argument(3).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.uniform3f(location, x, y, z, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform3fv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->uniform3fv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform3i(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLUniformLocation::info()))
        return throwVMTypeError(exec);
    WebGLUniformLocation* location(toWebGLUniformLocation(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int x(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int y(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int z(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.uniform3i(location, x, y, z, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform3iv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->uniform3iv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform4f(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 5)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLUniformLocation::info()))
        return throwVMTypeError(exec);
    WebGLUniformLocation* location(toWebGLUniformLocation(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float x(exec->argument(1).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float y(exec->argument(2).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float z(exec->argument(3).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float w(exec->argument(4).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.uniform4f(location, x, y, z, w, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform4fv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->uniform4fv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform4i(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 5)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLUniformLocation::info()))
        return throwVMTypeError(exec);
    WebGLUniformLocation* location(toWebGLUniformLocation(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int x(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int y(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int z(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int w(toInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.uniform4i(location, x, y, z, w, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform4iv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->uniform4iv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniformMatrix2fv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->uniformMatrix2fv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniformMatrix3fv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->uniformMatrix3fv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniformMatrix4fv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->uniformMatrix4fv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUseProgram(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
        return throwVMTypeError(exec);
    WebGLProgram* program(toWebGLProgram(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.useProgram(program, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionValidateProgram(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 1)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    if (exec->argumentCount() > 0 && !exec->argument(0).isUndefinedOrNull() && !exec->argument(0).inherits(JSWebGLProgram::info()))
        return throwVMTypeError(exec);
    WebGLProgram* program(toWebGLProgram(exec->argument(0)));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.validateProgram(program, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib1f(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 2)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned indx(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float x(exec->argument(1).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.vertexAttrib1f(indx, x);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib1fv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->vertexAttrib1fv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib2f(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 3)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned indx(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float x(exec->argument(1).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float y(exec->argument(2).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.vertexAttrib2f(indx, x, y);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib2fv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->vertexAttrib2fv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib3f(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned indx(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float x(exec->argument(1).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float y(exec->argument(2).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float z(exec->argument(3).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.vertexAttrib3f(indx, x, y, z);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib3fv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->vertexAttrib3fv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib4f(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 5)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    unsigned indx(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float x(exec->argument(1).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float y(exec->argument(2).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float z(exec->argument(3).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    float w(exec->argument(4).toFloat(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.vertexAttrib4f(indx, x, y, z, w);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib4fv(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    return JSValue::encode(castedThis->vertexAttrib4fv(exec));
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttribPointer(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 6)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    ExceptionCode ec = 0;
    unsigned indx(toUInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int size(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    unsigned type(toUInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    bool normalized(exec->argument(3).toBoolean(exec));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int stride(toInt32(exec, exec->argument(4), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    long long offset(toInt64(exec, exec->argument(5), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.vertexAttribPointer(indx, size, type, normalized, stride, offset, ec);
    setDOMException(exec, ec);
    return JSValue::encode(jsUndefined());
}

EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionViewport(ExecState* exec)
{
    JSValue thisValue = exec->hostThisValue();
    JSWebGLRenderingContext* castedThis = jsDynamicCast<JSWebGLRenderingContext*>(thisValue);
    if (!castedThis)
        return throwVMTypeError(exec);
    ASSERT_GC_OBJECT_INHERITS(castedThis, JSWebGLRenderingContext::info());
    WebGLRenderingContext& impl = castedThis->impl();
    if (exec->argumentCount() < 4)
        return throwVMError(exec, createNotEnoughArgumentsError(exec));
    int x(toInt32(exec, exec->argument(0), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int y(toInt32(exec, exec->argument(1), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int width(toInt32(exec, exec->argument(2), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    int height(toInt32(exec, exec->argument(3), NormalConversion));
    if (exec->hadException())
        return JSValue::encode(jsUndefined());
    impl.viewport(x, y, width, height);
    return JSValue::encode(jsUndefined());
}

// Constant getters

EncodedJSValue jsWebGLRenderingContextDEPTH_BUFFER_BIT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x00000100)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_BUFFER_BIT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x00000400)));
}

EncodedJSValue jsWebGLRenderingContextCOLOR_BUFFER_BIT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x00004000)));
}

EncodedJSValue jsWebGLRenderingContextPOINTS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0000)));
}

EncodedJSValue jsWebGLRenderingContextLINES(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0001)));
}

EncodedJSValue jsWebGLRenderingContextLINE_LOOP(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0002)));
}

EncodedJSValue jsWebGLRenderingContextLINE_STRIP(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0003)));
}

EncodedJSValue jsWebGLRenderingContextTRIANGLES(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0004)));
}

EncodedJSValue jsWebGLRenderingContextTRIANGLE_STRIP(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0005)));
}

EncodedJSValue jsWebGLRenderingContextTRIANGLE_FAN(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0006)));
}

EncodedJSValue jsWebGLRenderingContextZERO(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0)));
}

EncodedJSValue jsWebGLRenderingContextONE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(1)));
}

EncodedJSValue jsWebGLRenderingContextSRC_COLOR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0300)));
}

EncodedJSValue jsWebGLRenderingContextONE_MINUS_SRC_COLOR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0301)));
}

EncodedJSValue jsWebGLRenderingContextSRC_ALPHA(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0302)));
}

EncodedJSValue jsWebGLRenderingContextONE_MINUS_SRC_ALPHA(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0303)));
}

EncodedJSValue jsWebGLRenderingContextDST_ALPHA(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0304)));
}

EncodedJSValue jsWebGLRenderingContextONE_MINUS_DST_ALPHA(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0305)));
}

EncodedJSValue jsWebGLRenderingContextDST_COLOR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0306)));
}

EncodedJSValue jsWebGLRenderingContextONE_MINUS_DST_COLOR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0307)));
}

EncodedJSValue jsWebGLRenderingContextSRC_ALPHA_SATURATE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0308)));
}

EncodedJSValue jsWebGLRenderingContextFUNC_ADD(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8006)));
}

EncodedJSValue jsWebGLRenderingContextBLEND_EQUATION(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8009)));
}

EncodedJSValue jsWebGLRenderingContextBLEND_EQUATION_RGB(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8009)));
}

EncodedJSValue jsWebGLRenderingContextBLEND_EQUATION_ALPHA(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x883D)));
}

EncodedJSValue jsWebGLRenderingContextFUNC_SUBTRACT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x800A)));
}

EncodedJSValue jsWebGLRenderingContextFUNC_REVERSE_SUBTRACT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x800B)));
}

EncodedJSValue jsWebGLRenderingContextBLEND_DST_RGB(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x80C8)));
}

EncodedJSValue jsWebGLRenderingContextBLEND_SRC_RGB(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x80C9)));
}

EncodedJSValue jsWebGLRenderingContextBLEND_DST_ALPHA(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x80CA)));
}

EncodedJSValue jsWebGLRenderingContextBLEND_SRC_ALPHA(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x80CB)));
}

EncodedJSValue jsWebGLRenderingContextCONSTANT_COLOR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8001)));
}

EncodedJSValue jsWebGLRenderingContextONE_MINUS_CONSTANT_COLOR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8002)));
}

EncodedJSValue jsWebGLRenderingContextCONSTANT_ALPHA(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8003)));
}

EncodedJSValue jsWebGLRenderingContextONE_MINUS_CONSTANT_ALPHA(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8004)));
}

EncodedJSValue jsWebGLRenderingContextBLEND_COLOR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8005)));
}

EncodedJSValue jsWebGLRenderingContextARRAY_BUFFER(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8892)));
}

EncodedJSValue jsWebGLRenderingContextELEMENT_ARRAY_BUFFER(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8893)));
}

EncodedJSValue jsWebGLRenderingContextARRAY_BUFFER_BINDING(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8894)));
}

EncodedJSValue jsWebGLRenderingContextELEMENT_ARRAY_BUFFER_BINDING(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8895)));
}

EncodedJSValue jsWebGLRenderingContextSTREAM_DRAW(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x88E0)));
}

EncodedJSValue jsWebGLRenderingContextSTATIC_DRAW(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x88E4)));
}

EncodedJSValue jsWebGLRenderingContextDYNAMIC_DRAW(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x88E8)));
}

EncodedJSValue jsWebGLRenderingContextBUFFER_SIZE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8764)));
}

EncodedJSValue jsWebGLRenderingContextBUFFER_USAGE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8765)));
}

EncodedJSValue jsWebGLRenderingContextCURRENT_VERTEX_ATTRIB(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8626)));
}

EncodedJSValue jsWebGLRenderingContextFRONT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0404)));
}

EncodedJSValue jsWebGLRenderingContextBACK(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0405)));
}

EncodedJSValue jsWebGLRenderingContextFRONT_AND_BACK(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0408)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_2D(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0DE1)));
}

EncodedJSValue jsWebGLRenderingContextCULL_FACE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B44)));
}

EncodedJSValue jsWebGLRenderingContextBLEND(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0BE2)));
}

EncodedJSValue jsWebGLRenderingContextDITHER(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0BD0)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_TEST(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B90)));
}

EncodedJSValue jsWebGLRenderingContextDEPTH_TEST(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B71)));
}

EncodedJSValue jsWebGLRenderingContextSCISSOR_TEST(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0C11)));
}

EncodedJSValue jsWebGLRenderingContextPOLYGON_OFFSET_FILL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8037)));
}

EncodedJSValue jsWebGLRenderingContextSAMPLE_ALPHA_TO_COVERAGE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x809E)));
}

EncodedJSValue jsWebGLRenderingContextSAMPLE_COVERAGE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x80A0)));
}

EncodedJSValue jsWebGLRenderingContextNO_ERROR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0)));
}

EncodedJSValue jsWebGLRenderingContextINVALID_ENUM(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0500)));
}

EncodedJSValue jsWebGLRenderingContextINVALID_VALUE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0501)));
}

EncodedJSValue jsWebGLRenderingContextINVALID_OPERATION(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0502)));
}

EncodedJSValue jsWebGLRenderingContextOUT_OF_MEMORY(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0505)));
}

EncodedJSValue jsWebGLRenderingContextCW(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0900)));
}

EncodedJSValue jsWebGLRenderingContextCCW(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0901)));
}

EncodedJSValue jsWebGLRenderingContextLINE_WIDTH(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B21)));
}

EncodedJSValue jsWebGLRenderingContextALIASED_POINT_SIZE_RANGE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x846D)));
}

EncodedJSValue jsWebGLRenderingContextALIASED_LINE_WIDTH_RANGE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x846E)));
}

EncodedJSValue jsWebGLRenderingContextCULL_FACE_MODE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B45)));
}

EncodedJSValue jsWebGLRenderingContextFRONT_FACE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B46)));
}

EncodedJSValue jsWebGLRenderingContextDEPTH_RANGE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B70)));
}

EncodedJSValue jsWebGLRenderingContextDEPTH_WRITEMASK(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B72)));
}

EncodedJSValue jsWebGLRenderingContextDEPTH_CLEAR_VALUE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B73)));
}

EncodedJSValue jsWebGLRenderingContextDEPTH_FUNC(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B74)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_CLEAR_VALUE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B91)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_FUNC(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B92)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_FAIL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B94)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_PASS_DEPTH_FAIL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B95)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_PASS_DEPTH_PASS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B96)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_REF(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B97)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_VALUE_MASK(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B93)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_WRITEMASK(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0B98)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_BACK_FUNC(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8800)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_BACK_FAIL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8801)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_BACK_PASS_DEPTH_FAIL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8802)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_BACK_PASS_DEPTH_PASS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8803)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_BACK_REF(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CA3)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_BACK_VALUE_MASK(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CA4)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_BACK_WRITEMASK(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CA5)));
}

EncodedJSValue jsWebGLRenderingContextVIEWPORT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0BA2)));
}

EncodedJSValue jsWebGLRenderingContextSCISSOR_BOX(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0C10)));
}

EncodedJSValue jsWebGLRenderingContextCOLOR_CLEAR_VALUE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0C22)));
}

EncodedJSValue jsWebGLRenderingContextCOLOR_WRITEMASK(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0C23)));
}

EncodedJSValue jsWebGLRenderingContextUNPACK_ALIGNMENT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0CF5)));
}

EncodedJSValue jsWebGLRenderingContextPACK_ALIGNMENT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0D05)));
}

EncodedJSValue jsWebGLRenderingContextMAX_TEXTURE_SIZE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0D33)));
}

EncodedJSValue jsWebGLRenderingContextMAX_VIEWPORT_DIMS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0D3A)));
}

EncodedJSValue jsWebGLRenderingContextSUBPIXEL_BITS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0D50)));
}

EncodedJSValue jsWebGLRenderingContextRED_BITS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0D52)));
}

EncodedJSValue jsWebGLRenderingContextGREEN_BITS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0D53)));
}

EncodedJSValue jsWebGLRenderingContextBLUE_BITS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0D54)));
}

EncodedJSValue jsWebGLRenderingContextALPHA_BITS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0D55)));
}

EncodedJSValue jsWebGLRenderingContextDEPTH_BITS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0D56)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_BITS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0D57)));
}

EncodedJSValue jsWebGLRenderingContextPOLYGON_OFFSET_UNITS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x2A00)));
}

EncodedJSValue jsWebGLRenderingContextPOLYGON_OFFSET_FACTOR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8038)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_BINDING_2D(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8069)));
}

EncodedJSValue jsWebGLRenderingContextSAMPLE_BUFFERS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x80A8)));
}

EncodedJSValue jsWebGLRenderingContextSAMPLES(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x80A9)));
}

EncodedJSValue jsWebGLRenderingContextSAMPLE_COVERAGE_VALUE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x80AA)));
}

EncodedJSValue jsWebGLRenderingContextSAMPLE_COVERAGE_INVERT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x80AB)));
}

EncodedJSValue jsWebGLRenderingContextCOMPRESSED_TEXTURE_FORMATS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x86A3)));
}

EncodedJSValue jsWebGLRenderingContextDONT_CARE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1100)));
}

EncodedJSValue jsWebGLRenderingContextFASTEST(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1101)));
}

EncodedJSValue jsWebGLRenderingContextNICEST(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1102)));
}

EncodedJSValue jsWebGLRenderingContextGENERATE_MIPMAP_HINT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8192)));
}

EncodedJSValue jsWebGLRenderingContextBYTE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1400)));
}

EncodedJSValue jsWebGLRenderingContextUNSIGNED_BYTE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1401)));
}

EncodedJSValue jsWebGLRenderingContextSHORT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1402)));
}

EncodedJSValue jsWebGLRenderingContextUNSIGNED_SHORT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1403)));
}

EncodedJSValue jsWebGLRenderingContextINT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1404)));
}

EncodedJSValue jsWebGLRenderingContextUNSIGNED_INT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1405)));
}

EncodedJSValue jsWebGLRenderingContextFLOAT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1406)));
}

EncodedJSValue jsWebGLRenderingContextDEPTH_COMPONENT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1902)));
}

EncodedJSValue jsWebGLRenderingContextALPHA(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1906)));
}

EncodedJSValue jsWebGLRenderingContextRGB(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1907)));
}

EncodedJSValue jsWebGLRenderingContextRGBA(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1908)));
}

EncodedJSValue jsWebGLRenderingContextLUMINANCE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1909)));
}

EncodedJSValue jsWebGLRenderingContextLUMINANCE_ALPHA(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x190A)));
}

EncodedJSValue jsWebGLRenderingContextUNSIGNED_SHORT_4_4_4_4(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8033)));
}

EncodedJSValue jsWebGLRenderingContextUNSIGNED_SHORT_5_5_5_1(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8034)));
}

EncodedJSValue jsWebGLRenderingContextUNSIGNED_SHORT_5_6_5(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8363)));
}

EncodedJSValue jsWebGLRenderingContextFRAGMENT_SHADER(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B30)));
}

EncodedJSValue jsWebGLRenderingContextVERTEX_SHADER(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B31)));
}

EncodedJSValue jsWebGLRenderingContextMAX_VERTEX_ATTRIBS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8869)));
}

EncodedJSValue jsWebGLRenderingContextMAX_VERTEX_UNIFORM_VECTORS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8DFB)));
}

EncodedJSValue jsWebGLRenderingContextMAX_VARYING_VECTORS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8DFC)));
}

EncodedJSValue jsWebGLRenderingContextMAX_COMBINED_TEXTURE_IMAGE_UNITS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B4D)));
}

EncodedJSValue jsWebGLRenderingContextMAX_VERTEX_TEXTURE_IMAGE_UNITS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B4C)));
}

EncodedJSValue jsWebGLRenderingContextMAX_TEXTURE_IMAGE_UNITS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8872)));
}

EncodedJSValue jsWebGLRenderingContextMAX_FRAGMENT_UNIFORM_VECTORS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8DFD)));
}

EncodedJSValue jsWebGLRenderingContextSHADER_TYPE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B4F)));
}

EncodedJSValue jsWebGLRenderingContextDELETE_STATUS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B80)));
}

EncodedJSValue jsWebGLRenderingContextLINK_STATUS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B82)));
}

EncodedJSValue jsWebGLRenderingContextVALIDATE_STATUS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B83)));
}

EncodedJSValue jsWebGLRenderingContextATTACHED_SHADERS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B85)));
}

EncodedJSValue jsWebGLRenderingContextACTIVE_UNIFORMS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B86)));
}

EncodedJSValue jsWebGLRenderingContextACTIVE_ATTRIBUTES(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B89)));
}

EncodedJSValue jsWebGLRenderingContextSHADING_LANGUAGE_VERSION(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B8C)));
}

EncodedJSValue jsWebGLRenderingContextCURRENT_PROGRAM(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B8D)));
}

EncodedJSValue jsWebGLRenderingContextNEVER(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0200)));
}

EncodedJSValue jsWebGLRenderingContextLESS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0201)));
}

EncodedJSValue jsWebGLRenderingContextEQUAL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0202)));
}

EncodedJSValue jsWebGLRenderingContextLEQUAL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0203)));
}

EncodedJSValue jsWebGLRenderingContextGREATER(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0204)));
}

EncodedJSValue jsWebGLRenderingContextNOTEQUAL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0205)));
}

EncodedJSValue jsWebGLRenderingContextGEQUAL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0206)));
}

EncodedJSValue jsWebGLRenderingContextALWAYS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0207)));
}

EncodedJSValue jsWebGLRenderingContextKEEP(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1E00)));
}

EncodedJSValue jsWebGLRenderingContextREPLACE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1E01)));
}

EncodedJSValue jsWebGLRenderingContextINCR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1E02)));
}

EncodedJSValue jsWebGLRenderingContextDECR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1E03)));
}

EncodedJSValue jsWebGLRenderingContextINVERT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x150A)));
}

EncodedJSValue jsWebGLRenderingContextINCR_WRAP(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8507)));
}

EncodedJSValue jsWebGLRenderingContextDECR_WRAP(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8508)));
}

EncodedJSValue jsWebGLRenderingContextVENDOR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1F00)));
}

EncodedJSValue jsWebGLRenderingContextRENDERER(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1F01)));
}

EncodedJSValue jsWebGLRenderingContextVERSION(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1F02)));
}

EncodedJSValue jsWebGLRenderingContextNEAREST(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x2600)));
}

EncodedJSValue jsWebGLRenderingContextLINEAR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x2601)));
}

EncodedJSValue jsWebGLRenderingContextNEAREST_MIPMAP_NEAREST(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x2700)));
}

EncodedJSValue jsWebGLRenderingContextLINEAR_MIPMAP_NEAREST(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x2701)));
}

EncodedJSValue jsWebGLRenderingContextNEAREST_MIPMAP_LINEAR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x2702)));
}

EncodedJSValue jsWebGLRenderingContextLINEAR_MIPMAP_LINEAR(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x2703)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_MAG_FILTER(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x2800)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_MIN_FILTER(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x2801)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_WRAP_S(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x2802)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_WRAP_T(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x2803)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1702)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_CUBE_MAP(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8513)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_BINDING_CUBE_MAP(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8514)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_CUBE_MAP_POSITIVE_X(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8515)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_CUBE_MAP_NEGATIVE_X(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8516)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_CUBE_MAP_POSITIVE_Y(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8517)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_CUBE_MAP_NEGATIVE_Y(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8518)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_CUBE_MAP_POSITIVE_Z(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8519)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE_CUBE_MAP_NEGATIVE_Z(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x851A)));
}

EncodedJSValue jsWebGLRenderingContextMAX_CUBE_MAP_TEXTURE_SIZE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x851C)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE0(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84C0)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE1(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84C1)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE2(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84C2)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE3(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84C3)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE4(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84C4)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE5(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84C5)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE6(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84C6)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE7(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84C7)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE8(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84C8)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE9(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84C9)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE10(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84CA)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE11(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84CB)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE12(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84CC)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE13(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84CD)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE14(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84CE)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE15(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84CF)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE16(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84D0)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE17(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84D1)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE18(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84D2)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE19(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84D3)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE20(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84D4)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE21(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84D5)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE22(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84D6)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE23(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84D7)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE24(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84D8)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE25(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84D9)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE26(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84DA)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE27(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84DB)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE28(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84DC)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE29(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84DD)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE30(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84DE)));
}

EncodedJSValue jsWebGLRenderingContextTEXTURE31(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84DF)));
}

EncodedJSValue jsWebGLRenderingContextACTIVE_TEXTURE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84E0)));
}

EncodedJSValue jsWebGLRenderingContextREPEAT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x2901)));
}

EncodedJSValue jsWebGLRenderingContextCLAMP_TO_EDGE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x812F)));
}

EncodedJSValue jsWebGLRenderingContextMIRRORED_REPEAT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8370)));
}

EncodedJSValue jsWebGLRenderingContextFLOAT_VEC2(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B50)));
}

EncodedJSValue jsWebGLRenderingContextFLOAT_VEC3(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B51)));
}

EncodedJSValue jsWebGLRenderingContextFLOAT_VEC4(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B52)));
}

EncodedJSValue jsWebGLRenderingContextINT_VEC2(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B53)));
}

EncodedJSValue jsWebGLRenderingContextINT_VEC3(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B54)));
}

EncodedJSValue jsWebGLRenderingContextINT_VEC4(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B55)));
}

EncodedJSValue jsWebGLRenderingContextBOOL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B56)));
}

EncodedJSValue jsWebGLRenderingContextBOOL_VEC2(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B57)));
}

EncodedJSValue jsWebGLRenderingContextBOOL_VEC3(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B58)));
}

EncodedJSValue jsWebGLRenderingContextBOOL_VEC4(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B59)));
}

EncodedJSValue jsWebGLRenderingContextFLOAT_MAT2(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B5A)));
}

EncodedJSValue jsWebGLRenderingContextFLOAT_MAT3(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B5B)));
}

EncodedJSValue jsWebGLRenderingContextFLOAT_MAT4(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B5C)));
}

EncodedJSValue jsWebGLRenderingContextSAMPLER_2D(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B5E)));
}

EncodedJSValue jsWebGLRenderingContextSAMPLER_CUBE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B60)));
}

EncodedJSValue jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_ENABLED(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8622)));
}

EncodedJSValue jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_SIZE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8623)));
}

EncodedJSValue jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_STRIDE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8624)));
}

EncodedJSValue jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_TYPE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8625)));
}

EncodedJSValue jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_NORMALIZED(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x886A)));
}

EncodedJSValue jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_POINTER(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8645)));
}

EncodedJSValue jsWebGLRenderingContextVERTEX_ATTRIB_ARRAY_BUFFER_BINDING(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x889F)));
}

EncodedJSValue jsWebGLRenderingContextCOMPILE_STATUS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8B81)));
}

EncodedJSValue jsWebGLRenderingContextLOW_FLOAT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8DF0)));
}

EncodedJSValue jsWebGLRenderingContextMEDIUM_FLOAT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8DF1)));
}

EncodedJSValue jsWebGLRenderingContextHIGH_FLOAT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8DF2)));
}

EncodedJSValue jsWebGLRenderingContextLOW_INT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8DF3)));
}

EncodedJSValue jsWebGLRenderingContextMEDIUM_INT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8DF4)));
}

EncodedJSValue jsWebGLRenderingContextHIGH_INT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8DF5)));
}

EncodedJSValue jsWebGLRenderingContextFRAMEBUFFER(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D40)));
}

EncodedJSValue jsWebGLRenderingContextRENDERBUFFER(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D41)));
}

EncodedJSValue jsWebGLRenderingContextRGBA4(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8056)));
}

EncodedJSValue jsWebGLRenderingContextRGB5_A1(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8057)));
}

EncodedJSValue jsWebGLRenderingContextRGB565(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D62)));
}

EncodedJSValue jsWebGLRenderingContextDEPTH_COMPONENT16(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x81A5)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_INDEX(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x1901)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_INDEX8(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D48)));
}

EncodedJSValue jsWebGLRenderingContextDEPTH_STENCIL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84F9)));
}

EncodedJSValue jsWebGLRenderingContextRENDERBUFFER_WIDTH(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D42)));
}

EncodedJSValue jsWebGLRenderingContextRENDERBUFFER_HEIGHT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D43)));
}

EncodedJSValue jsWebGLRenderingContextRENDERBUFFER_INTERNAL_FORMAT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D44)));
}

EncodedJSValue jsWebGLRenderingContextRENDERBUFFER_RED_SIZE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D50)));
}

EncodedJSValue jsWebGLRenderingContextRENDERBUFFER_GREEN_SIZE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D51)));
}

EncodedJSValue jsWebGLRenderingContextRENDERBUFFER_BLUE_SIZE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D52)));
}

EncodedJSValue jsWebGLRenderingContextRENDERBUFFER_ALPHA_SIZE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D53)));
}

EncodedJSValue jsWebGLRenderingContextRENDERBUFFER_DEPTH_SIZE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D54)));
}

EncodedJSValue jsWebGLRenderingContextRENDERBUFFER_STENCIL_SIZE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D55)));
}

EncodedJSValue jsWebGLRenderingContextFRAMEBUFFER_ATTACHMENT_OBJECT_TYPE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CD0)));
}

EncodedJSValue jsWebGLRenderingContextFRAMEBUFFER_ATTACHMENT_OBJECT_NAME(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CD1)));
}

EncodedJSValue jsWebGLRenderingContextFRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CD2)));
}

EncodedJSValue jsWebGLRenderingContextFRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CD3)));
}

EncodedJSValue jsWebGLRenderingContextCOLOR_ATTACHMENT0(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CE0)));
}

EncodedJSValue jsWebGLRenderingContextDEPTH_ATTACHMENT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D00)));
}

EncodedJSValue jsWebGLRenderingContextSTENCIL_ATTACHMENT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8D20)));
}

EncodedJSValue jsWebGLRenderingContextDEPTH_STENCIL_ATTACHMENT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x821A)));
}

EncodedJSValue jsWebGLRenderingContextNONE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0)));
}

EncodedJSValue jsWebGLRenderingContextFRAMEBUFFER_COMPLETE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CD5)));
}

EncodedJSValue jsWebGLRenderingContextFRAMEBUFFER_INCOMPLETE_ATTACHMENT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CD6)));
}

EncodedJSValue jsWebGLRenderingContextFRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CD7)));
}

EncodedJSValue jsWebGLRenderingContextFRAMEBUFFER_INCOMPLETE_DIMENSIONS(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CD9)));
}

EncodedJSValue jsWebGLRenderingContextFRAMEBUFFER_UNSUPPORTED(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CDD)));
}

EncodedJSValue jsWebGLRenderingContextFRAMEBUFFER_BINDING(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CA6)));
}

EncodedJSValue jsWebGLRenderingContextRENDERBUFFER_BINDING(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x8CA7)));
}

EncodedJSValue jsWebGLRenderingContextMAX_RENDERBUFFER_SIZE(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x84E8)));
}

EncodedJSValue jsWebGLRenderingContextINVALID_FRAMEBUFFER_OPERATION(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x0506)));
}

EncodedJSValue jsWebGLRenderingContextUNPACK_FLIP_Y_WEBGL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x9240)));
}

EncodedJSValue jsWebGLRenderingContextUNPACK_PREMULTIPLY_ALPHA_WEBGL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x9241)));
}

EncodedJSValue jsWebGLRenderingContextCONTEXT_LOST_WEBGL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x9242)));
}

EncodedJSValue jsWebGLRenderingContextUNPACK_COLORSPACE_CONVERSION_WEBGL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x9243)));
}

EncodedJSValue jsWebGLRenderingContextBROWSER_DEFAULT_WEBGL(ExecState* exec, EncodedJSValue, EncodedJSValue, PropertyName)
{
    UNUSED_PARAM(exec);
    return JSValue::encode(jsNumber(static_cast<int>(0x9244)));
}


}

#endif // ENABLE(WEBGL)
