1/*
2 This file is part of the WebKit open source project.
3 This file has been generated by generate-bindings.pl. DO NOT MODIFY!
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
19*/
20
21#include "config.h"
22
23#if ENABLE(WEBGL)
24
25#include "JSWebGLRenderingContext.h"
26
27#include "CallTracer.h"
28#include "JSDOMAttribute.h"
29#include "JSDOMBinding.h"
30#include "JSDOMConstructorNotConstructable.h"
31#include "JSDOMConvertBufferSource.h"
32#include "JSDOMConvertInterface.h"
33#include "JSDOMConvertNullable.h"
34#include "JSDOMConvertNumbers.h"
35#include "JSDOMConvertUnion.h"
36#include "JSDOMExceptionHandling.h"
37#include "JSDOMOperation.h"
38#include "JSDOMWrapperCache.h"
39#include "JSHTMLCanvasElement.h"
40#include "JSHTMLImageElement.h"
41#include "JSHTMLVideoElement.h"
42#include "JSImageBitmap.h"
43#include "JSImageData.h"
44#include "ScriptExecutionContext.h"
45#include <JavaScriptCore/FunctionPrototype.h>
46#include <JavaScriptCore/HeapSnapshotBuilder.h>
47#include <JavaScriptCore/JSCInlines.h>
48#include <wtf/GetPtr.h>
49#include <wtf/PointerPreparations.h>
50#include <wtf/URL.h>
51#include <wtf/Variant.h>
52
53#if ENABLE(WEBGL)
54#include "JSDOMConvertBoolean.h"
55#include "JSDOMConvertDictionary.h"
56#include "JSDOMConvertSequences.h"
57#include "JSDOMConvertStrings.h"
58#include "JSDOMConvertWebGL.h"
59#include "JSDOMGlobalObject.h"
60#include "JSOffscreenCanvas.h"
61#include "JSWebGLActiveInfo.h"
62#include "JSWebGLBuffer.h"
63#include "JSWebGLContextAttributes.h"
64#include "JSWebGLFramebuffer.h"
65#include "JSWebGLProgram.h"
66#include "JSWebGLRenderbuffer.h"
67#include "JSWebGLShader.h"
68#include "JSWebGLShaderPrecisionFormat.h"
69#include "JSWebGLTexture.h"
70#include "JSWebGLUniformLocation.h"
71#include <JavaScriptCore/JSArray.h>
72#endif
73
74
75namespace WebCore {
76using namespace JSC;
77
78// Functions
79
80JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexImage2D(JSC::ExecState*);
81JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexSubImage2D(JSC::ExecState*);
82JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCompressedTexImage2D(JSC::ExecState*);
83#if ENABLE(WEBGL)
84JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionActiveTexture(JSC::ExecState*);
85#endif
86#if ENABLE(WEBGL)
87JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionAttachShader(JSC::ExecState*);
88#endif
89#if ENABLE(WEBGL)
90JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindAttribLocation(JSC::ExecState*);
91#endif
92#if ENABLE(WEBGL)
93JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindBuffer(JSC::ExecState*);
94#endif
95#if ENABLE(WEBGL)
96JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindFramebuffer(JSC::ExecState*);
97#endif
98#if ENABLE(WEBGL)
99JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindRenderbuffer(JSC::ExecState*);
100#endif
101#if ENABLE(WEBGL)
102JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindTexture(JSC::ExecState*);
103#endif
104#if ENABLE(WEBGL)
105JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendColor(JSC::ExecState*);
106#endif
107#if ENABLE(WEBGL)
108JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendEquation(JSC::ExecState*);
109#endif
110#if ENABLE(WEBGL)
111JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendEquationSeparate(JSC::ExecState*);
112#endif
113#if ENABLE(WEBGL)
114JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendFunc(JSC::ExecState*);
115#endif
116#if ENABLE(WEBGL)
117JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendFuncSeparate(JSC::ExecState*);
118#endif
119#if ENABLE(WEBGL)
120JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBufferData(JSC::ExecState*);
121#endif
122#if ENABLE(WEBGL)
123JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBufferSubData(JSC::ExecState*);
124#endif
125#if ENABLE(WEBGL)
126JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCheckFramebufferStatus(JSC::ExecState*);
127#endif
128#if ENABLE(WEBGL)
129JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionClear(JSC::ExecState*);
130#endif
131#if ENABLE(WEBGL)
132JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionClearColor(JSC::ExecState*);
133#endif
134#if ENABLE(WEBGL)
135JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionClearDepth(JSC::ExecState*);
136#endif
137#if ENABLE(WEBGL)
138JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionClearStencil(JSC::ExecState*);
139#endif
140#if ENABLE(WEBGL)
141JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionColorMask(JSC::ExecState*);
142#endif
143#if ENABLE(WEBGL)
144JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCompileShader(JSC::ExecState*);
145#endif
146#if ENABLE(WEBGL)
147JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCompressedTexSubImage2D(JSC::ExecState*);
148#endif
149#if ENABLE(WEBGL)
150JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCopyTexImage2D(JSC::ExecState*);
151#endif
152#if ENABLE(WEBGL)
153JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCopyTexSubImage2D(JSC::ExecState*);
154#endif
155#if ENABLE(WEBGL)
156JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateBuffer(JSC::ExecState*);
157#endif
158#if ENABLE(WEBGL)
159JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateFramebuffer(JSC::ExecState*);
160#endif
161#if ENABLE(WEBGL)
162JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateProgram(JSC::ExecState*);
163#endif
164#if ENABLE(WEBGL)
165JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateRenderbuffer(JSC::ExecState*);
166#endif
167#if ENABLE(WEBGL)
168JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateShader(JSC::ExecState*);
169#endif
170#if ENABLE(WEBGL)
171JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateTexture(JSC::ExecState*);
172#endif
173#if ENABLE(WEBGL)
174JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCullFace(JSC::ExecState*);
175#endif
176#if ENABLE(WEBGL)
177JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteBuffer(JSC::ExecState*);
178#endif
179#if ENABLE(WEBGL)
180JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteFramebuffer(JSC::ExecState*);
181#endif
182#if ENABLE(WEBGL)
183JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteProgram(JSC::ExecState*);
184#endif
185#if ENABLE(WEBGL)
186JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteRenderbuffer(JSC::ExecState*);
187#endif
188#if ENABLE(WEBGL)
189JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteShader(JSC::ExecState*);
190#endif
191#if ENABLE(WEBGL)
192JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteTexture(JSC::ExecState*);
193#endif
194#if ENABLE(WEBGL)
195JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDepthFunc(JSC::ExecState*);
196#endif
197#if ENABLE(WEBGL)
198JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDepthMask(JSC::ExecState*);
199#endif
200#if ENABLE(WEBGL)
201JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDepthRange(JSC::ExecState*);
202#endif
203#if ENABLE(WEBGL)
204JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDetachShader(JSC::ExecState*);
205#endif
206#if ENABLE(WEBGL)
207JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDisable(JSC::ExecState*);
208#endif
209#if ENABLE(WEBGL)
210JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDisableVertexAttribArray(JSC::ExecState*);
211#endif
212#if ENABLE(WEBGL)
213JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDrawArrays(JSC::ExecState*);
214#endif
215#if ENABLE(WEBGL)
216JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDrawElements(JSC::ExecState*);
217#endif
218#if ENABLE(WEBGL)
219JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionEnable(JSC::ExecState*);
220#endif
221#if ENABLE(WEBGL)
222JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionEnableVertexAttribArray(JSC::ExecState*);
223#endif
224#if ENABLE(WEBGL)
225JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFinish(JSC::ExecState*);
226#endif
227#if ENABLE(WEBGL)
228JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFlush(JSC::ExecState*);
229#endif
230#if ENABLE(WEBGL)
231JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFramebufferRenderbuffer(JSC::ExecState*);
232#endif
233#if ENABLE(WEBGL)
234JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFramebufferTexture2D(JSC::ExecState*);
235#endif
236#if ENABLE(WEBGL)
237JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFrontFace(JSC::ExecState*);
238#endif
239#if ENABLE(WEBGL)
240JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGenerateMipmap(JSC::ExecState*);
241#endif
242#if ENABLE(WEBGL)
243JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetActiveAttrib(JSC::ExecState*);
244#endif
245#if ENABLE(WEBGL)
246JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetActiveUniform(JSC::ExecState*);
247#endif
248#if ENABLE(WEBGL)
249JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetAttachedShaders(JSC::ExecState*);
250#endif
251#if ENABLE(WEBGL)
252JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetAttribLocation(JSC::ExecState*);
253#endif
254#if ENABLE(WEBGL)
255JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetBufferParameter(JSC::ExecState*);
256#endif
257#if ENABLE(WEBGL)
258JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetContextAttributes(JSC::ExecState*);
259#endif
260#if ENABLE(WEBGL)
261JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetError(JSC::ExecState*);
262#endif
263#if ENABLE(WEBGL)
264JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetSupportedExtensions(JSC::ExecState*);
265#endif
266#if ENABLE(WEBGL)
267JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetExtension(JSC::ExecState*);
268#endif
269#if ENABLE(WEBGL)
270JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetFramebufferAttachmentParameter(JSC::ExecState*);
271#endif
272#if ENABLE(WEBGL)
273JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetParameter(JSC::ExecState*);
274#endif
275#if ENABLE(WEBGL)
276JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetProgramParameter(JSC::ExecState*);
277#endif
278#if ENABLE(WEBGL)
279JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetProgramInfoLog(JSC::ExecState*);
280#endif
281#if ENABLE(WEBGL)
282JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetRenderbufferParameter(JSC::ExecState*);
283#endif
284#if ENABLE(WEBGL)
285JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetShaderParameter(JSC::ExecState*);
286#endif
287#if ENABLE(WEBGL)
288JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetShaderInfoLog(JSC::ExecState*);
289#endif
290#if ENABLE(WEBGL)
291JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetShaderPrecisionFormat(JSC::ExecState*);
292#endif
293#if ENABLE(WEBGL)
294JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetShaderSource(JSC::ExecState*);
295#endif
296#if ENABLE(WEBGL)
297JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetTexParameter(JSC::ExecState*);
298#endif
299#if ENABLE(WEBGL)
300JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetUniform(JSC::ExecState*);
301#endif
302#if ENABLE(WEBGL)
303JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetUniformLocation(JSC::ExecState*);
304#endif
305#if ENABLE(WEBGL)
306JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetVertexAttrib(JSC::ExecState*);
307#endif
308#if ENABLE(WEBGL)
309JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetVertexAttribOffset(JSC::ExecState*);
310#endif
311#if ENABLE(WEBGL)
312JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionHint(JSC::ExecState*);
313#endif
314#if ENABLE(WEBGL)
315JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsBuffer(JSC::ExecState*);
316#endif
317#if ENABLE(WEBGL)
318JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsContextLost(JSC::ExecState*);
319#endif
320#if ENABLE(WEBGL)
321JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsEnabled(JSC::ExecState*);
322#endif
323#if ENABLE(WEBGL)
324JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsFramebuffer(JSC::ExecState*);
325#endif
326#if ENABLE(WEBGL)
327JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsProgram(JSC::ExecState*);
328#endif
329#if ENABLE(WEBGL)
330JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsRenderbuffer(JSC::ExecState*);
331#endif
332#if ENABLE(WEBGL)
333JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsShader(JSC::ExecState*);
334#endif
335#if ENABLE(WEBGL)
336JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsTexture(JSC::ExecState*);
337#endif
338#if ENABLE(WEBGL)
339JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionLineWidth(JSC::ExecState*);
340#endif
341#if ENABLE(WEBGL)
342JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionLinkProgram(JSC::ExecState*);
343#endif
344#if ENABLE(WEBGL)
345JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionPixelStorei(JSC::ExecState*);
346#endif
347#if ENABLE(WEBGL)
348JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionPolygonOffset(JSC::ExecState*);
349#endif
350#if ENABLE(WEBGL)
351JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionReadPixels(JSC::ExecState*);
352#endif
353#if ENABLE(WEBGL)
354JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionReleaseShaderCompiler(JSC::ExecState*);
355#endif
356#if ENABLE(WEBGL)
357JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionRenderbufferStorage(JSC::ExecState*);
358#endif
359#if ENABLE(WEBGL)
360JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionSampleCoverage(JSC::ExecState*);
361#endif
362#if ENABLE(WEBGL)
363JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionScissor(JSC::ExecState*);
364#endif
365#if ENABLE(WEBGL)
366JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionShaderSource(JSC::ExecState*);
367#endif
368#if ENABLE(WEBGL)
369JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilFunc(JSC::ExecState*);
370#endif
371#if ENABLE(WEBGL)
372JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilFuncSeparate(JSC::ExecState*);
373#endif
374#if ENABLE(WEBGL)
375JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilMask(JSC::ExecState*);
376#endif
377#if ENABLE(WEBGL)
378JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilMaskSeparate(JSC::ExecState*);
379#endif
380#if ENABLE(WEBGL)
381JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilOp(JSC::ExecState*);
382#endif
383#if ENABLE(WEBGL)
384JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilOpSeparate(JSC::ExecState*);
385#endif
386#if ENABLE(WEBGL)
387JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexParameterf(JSC::ExecState*);
388#endif
389#if ENABLE(WEBGL)
390JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexParameteri(JSC::ExecState*);
391#endif
392#if ENABLE(WEBGL)
393JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform1f(JSC::ExecState*);
394#endif
395#if ENABLE(WEBGL)
396JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform2f(JSC::ExecState*);
397#endif
398#if ENABLE(WEBGL)
399JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform3f(JSC::ExecState*);
400#endif
401#if ENABLE(WEBGL)
402JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform4f(JSC::ExecState*);
403#endif
404#if ENABLE(WEBGL)
405JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform1i(JSC::ExecState*);
406#endif
407#if ENABLE(WEBGL)
408JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform2i(JSC::ExecState*);
409#endif
410#if ENABLE(WEBGL)
411JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform3i(JSC::ExecState*);
412#endif
413#if ENABLE(WEBGL)
414JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform4i(JSC::ExecState*);
415#endif
416#if ENABLE(WEBGL)
417JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform1fv(JSC::ExecState*);
418#endif
419#if ENABLE(WEBGL)
420JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform2fv(JSC::ExecState*);
421#endif
422#if ENABLE(WEBGL)
423JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform3fv(JSC::ExecState*);
424#endif
425#if ENABLE(WEBGL)
426JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform4fv(JSC::ExecState*);
427#endif
428#if ENABLE(WEBGL)
429JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform1iv(JSC::ExecState*);
430#endif
431#if ENABLE(WEBGL)
432JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform2iv(JSC::ExecState*);
433#endif
434#if ENABLE(WEBGL)
435JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform3iv(JSC::ExecState*);
436#endif
437#if ENABLE(WEBGL)
438JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform4iv(JSC::ExecState*);
439#endif
440#if ENABLE(WEBGL)
441JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniformMatrix2fv(JSC::ExecState*);
442#endif
443#if ENABLE(WEBGL)
444JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniformMatrix3fv(JSC::ExecState*);
445#endif
446#if ENABLE(WEBGL)
447JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniformMatrix4fv(JSC::ExecState*);
448#endif
449#if ENABLE(WEBGL)
450JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUseProgram(JSC::ExecState*);
451#endif
452#if ENABLE(WEBGL)
453JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionValidateProgram(JSC::ExecState*);
454#endif
455#if ENABLE(WEBGL)
456JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib1f(JSC::ExecState*);
457#endif
458#if ENABLE(WEBGL)
459JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib2f(JSC::ExecState*);
460#endif
461#if ENABLE(WEBGL)
462JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib3f(JSC::ExecState*);
463#endif
464#if ENABLE(WEBGL)
465JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib4f(JSC::ExecState*);
466#endif
467#if ENABLE(WEBGL)
468JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib1fv(JSC::ExecState*);
469#endif
470#if ENABLE(WEBGL)
471JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib2fv(JSC::ExecState*);
472#endif
473#if ENABLE(WEBGL)
474JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib3fv(JSC::ExecState*);
475#endif
476#if ENABLE(WEBGL)
477JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib4fv(JSC::ExecState*);
478#endif
479#if ENABLE(WEBGL)
480JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttribPointer(JSC::ExecState*);
481#endif
482#if ENABLE(WEBGL)
483JSC::EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionViewport(JSC::ExecState*);
484#endif
485
486// Attributes
487
488JSC::EncodedJSValue jsWebGLRenderingContextConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
489bool setJSWebGLRenderingContextConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
490#if ENABLE(WEBGL)
491JSC::EncodedJSValue jsWebGLRenderingContextCanvas(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
492#endif
493#if ENABLE(WEBGL)
494JSC::EncodedJSValue jsWebGLRenderingContextDrawingBufferWidth(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
495#endif
496#if ENABLE(WEBGL)
497JSC::EncodedJSValue jsWebGLRenderingContextDrawingBufferHeight(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
498#endif
499
500class JSWebGLRenderingContextPrototype : public JSC::JSNonFinalObject {
501public:
502 using Base = JSC::JSNonFinalObject;
503 static JSWebGLRenderingContextPrototype* create(JSC::VM& vm, JSDOMGlobalObject* globalObject, JSC::Structure* structure)
504 {
505 JSWebGLRenderingContextPrototype* ptr = new (NotNull, JSC::allocateCell<JSWebGLRenderingContextPrototype>(vm.heap)) JSWebGLRenderingContextPrototype(vm, globalObject, structure);
506 ptr->finishCreation(vm);
507 return ptr;
508 }
509
510 DECLARE_INFO;
511 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
512 {
513 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
514 }
515
516private:
517 JSWebGLRenderingContextPrototype(JSC::VM& vm, JSC::JSGlobalObject*, JSC::Structure* structure)
518 : JSC::JSNonFinalObject(vm, structure)
519 {
520 }
521
522 void finishCreation(JSC::VM&);
523};
524
525using JSWebGLRenderingContextConstructor = JSDOMConstructorNotConstructable<JSWebGLRenderingContext>;
526
527/* Hash table for constructor */
528
529static const HashTableValue JSWebGLRenderingContextConstructorTableValues[] =
530{
531#if ENABLE(WEBGL)
532 { "DEPTH_BUFFER_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00000100) } },
533#else
534 { 0, 0, NoIntrinsic, { 0, 0 } },
535#endif
536#if ENABLE(WEBGL)
537 { "STENCIL_BUFFER_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00000400) } },
538#else
539 { 0, 0, NoIntrinsic, { 0, 0 } },
540#endif
541#if ENABLE(WEBGL)
542 { "COLOR_BUFFER_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00004000) } },
543#else
544 { 0, 0, NoIntrinsic, { 0, 0 } },
545#endif
546#if ENABLE(WEBGL)
547 { "POINTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0000) } },
548#else
549 { 0, 0, NoIntrinsic, { 0, 0 } },
550#endif
551#if ENABLE(WEBGL)
552 { "LINES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0001) } },
553#else
554 { 0, 0, NoIntrinsic, { 0, 0 } },
555#endif
556#if ENABLE(WEBGL)
557 { "LINE_LOOP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0002) } },
558#else
559 { 0, 0, NoIntrinsic, { 0, 0 } },
560#endif
561#if ENABLE(WEBGL)
562 { "LINE_STRIP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0003) } },
563#else
564 { 0, 0, NoIntrinsic, { 0, 0 } },
565#endif
566#if ENABLE(WEBGL)
567 { "TRIANGLES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0004) } },
568#else
569 { 0, 0, NoIntrinsic, { 0, 0 } },
570#endif
571#if ENABLE(WEBGL)
572 { "TRIANGLE_STRIP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0005) } },
573#else
574 { 0, 0, NoIntrinsic, { 0, 0 } },
575#endif
576#if ENABLE(WEBGL)
577 { "TRIANGLE_FAN", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0006) } },
578#else
579 { 0, 0, NoIntrinsic, { 0, 0 } },
580#endif
581#if ENABLE(WEBGL)
582 { "ZERO", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0) } },
583#else
584 { 0, 0, NoIntrinsic, { 0, 0 } },
585#endif
586#if ENABLE(WEBGL)
587 { "ONE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(1) } },
588#else
589 { 0, 0, NoIntrinsic, { 0, 0 } },
590#endif
591#if ENABLE(WEBGL)
592 { "SRC_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0300) } },
593#else
594 { 0, 0, NoIntrinsic, { 0, 0 } },
595#endif
596#if ENABLE(WEBGL)
597 { "ONE_MINUS_SRC_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0301) } },
598#else
599 { 0, 0, NoIntrinsic, { 0, 0 } },
600#endif
601#if ENABLE(WEBGL)
602 { "SRC_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0302) } },
603#else
604 { 0, 0, NoIntrinsic, { 0, 0 } },
605#endif
606#if ENABLE(WEBGL)
607 { "ONE_MINUS_SRC_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0303) } },
608#else
609 { 0, 0, NoIntrinsic, { 0, 0 } },
610#endif
611#if ENABLE(WEBGL)
612 { "DST_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0304) } },
613#else
614 { 0, 0, NoIntrinsic, { 0, 0 } },
615#endif
616#if ENABLE(WEBGL)
617 { "ONE_MINUS_DST_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0305) } },
618#else
619 { 0, 0, NoIntrinsic, { 0, 0 } },
620#endif
621#if ENABLE(WEBGL)
622 { "DST_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0306) } },
623#else
624 { 0, 0, NoIntrinsic, { 0, 0 } },
625#endif
626#if ENABLE(WEBGL)
627 { "ONE_MINUS_DST_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0307) } },
628#else
629 { 0, 0, NoIntrinsic, { 0, 0 } },
630#endif
631#if ENABLE(WEBGL)
632 { "SRC_ALPHA_SATURATE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0308) } },
633#else
634 { 0, 0, NoIntrinsic, { 0, 0 } },
635#endif
636#if ENABLE(WEBGL)
637 { "FUNC_ADD", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8006) } },
638#else
639 { 0, 0, NoIntrinsic, { 0, 0 } },
640#endif
641#if ENABLE(WEBGL)
642 { "BLEND_EQUATION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8009) } },
643#else
644 { 0, 0, NoIntrinsic, { 0, 0 } },
645#endif
646#if ENABLE(WEBGL)
647 { "BLEND_EQUATION_RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8009) } },
648#else
649 { 0, 0, NoIntrinsic, { 0, 0 } },
650#endif
651#if ENABLE(WEBGL)
652 { "BLEND_EQUATION_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x883D) } },
653#else
654 { 0, 0, NoIntrinsic, { 0, 0 } },
655#endif
656#if ENABLE(WEBGL)
657 { "FUNC_SUBTRACT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x800A) } },
658#else
659 { 0, 0, NoIntrinsic, { 0, 0 } },
660#endif
661#if ENABLE(WEBGL)
662 { "FUNC_REVERSE_SUBTRACT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x800B) } },
663#else
664 { 0, 0, NoIntrinsic, { 0, 0 } },
665#endif
666#if ENABLE(WEBGL)
667 { "BLEND_DST_RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80C8) } },
668#else
669 { 0, 0, NoIntrinsic, { 0, 0 } },
670#endif
671#if ENABLE(WEBGL)
672 { "BLEND_SRC_RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80C9) } },
673#else
674 { 0, 0, NoIntrinsic, { 0, 0 } },
675#endif
676#if ENABLE(WEBGL)
677 { "BLEND_DST_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80CA) } },
678#else
679 { 0, 0, NoIntrinsic, { 0, 0 } },
680#endif
681#if ENABLE(WEBGL)
682 { "BLEND_SRC_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80CB) } },
683#else
684 { 0, 0, NoIntrinsic, { 0, 0 } },
685#endif
686#if ENABLE(WEBGL)
687 { "CONSTANT_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8001) } },
688#else
689 { 0, 0, NoIntrinsic, { 0, 0 } },
690#endif
691#if ENABLE(WEBGL)
692 { "ONE_MINUS_CONSTANT_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8002) } },
693#else
694 { 0, 0, NoIntrinsic, { 0, 0 } },
695#endif
696#if ENABLE(WEBGL)
697 { "CONSTANT_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8003) } },
698#else
699 { 0, 0, NoIntrinsic, { 0, 0 } },
700#endif
701#if ENABLE(WEBGL)
702 { "ONE_MINUS_CONSTANT_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8004) } },
703#else
704 { 0, 0, NoIntrinsic, { 0, 0 } },
705#endif
706#if ENABLE(WEBGL)
707 { "BLEND_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8005) } },
708#else
709 { 0, 0, NoIntrinsic, { 0, 0 } },
710#endif
711#if ENABLE(WEBGL)
712 { "ARRAY_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8892) } },
713#else
714 { 0, 0, NoIntrinsic, { 0, 0 } },
715#endif
716#if ENABLE(WEBGL)
717 { "ELEMENT_ARRAY_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8893) } },
718#else
719 { 0, 0, NoIntrinsic, { 0, 0 } },
720#endif
721#if ENABLE(WEBGL)
722 { "ARRAY_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8894) } },
723#else
724 { 0, 0, NoIntrinsic, { 0, 0 } },
725#endif
726#if ENABLE(WEBGL)
727 { "ELEMENT_ARRAY_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8895) } },
728#else
729 { 0, 0, NoIntrinsic, { 0, 0 } },
730#endif
731#if ENABLE(WEBGL)
732 { "STREAM_DRAW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E0) } },
733#else
734 { 0, 0, NoIntrinsic, { 0, 0 } },
735#endif
736#if ENABLE(WEBGL)
737 { "STATIC_DRAW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E4) } },
738#else
739 { 0, 0, NoIntrinsic, { 0, 0 } },
740#endif
741#if ENABLE(WEBGL)
742 { "DYNAMIC_DRAW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E8) } },
743#else
744 { 0, 0, NoIntrinsic, { 0, 0 } },
745#endif
746#if ENABLE(WEBGL)
747 { "BUFFER_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8764) } },
748#else
749 { 0, 0, NoIntrinsic, { 0, 0 } },
750#endif
751#if ENABLE(WEBGL)
752 { "BUFFER_USAGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8765) } },
753#else
754 { 0, 0, NoIntrinsic, { 0, 0 } },
755#endif
756#if ENABLE(WEBGL)
757 { "CURRENT_VERTEX_ATTRIB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8626) } },
758#else
759 { 0, 0, NoIntrinsic, { 0, 0 } },
760#endif
761#if ENABLE(WEBGL)
762 { "FRONT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0404) } },
763#else
764 { 0, 0, NoIntrinsic, { 0, 0 } },
765#endif
766#if ENABLE(WEBGL)
767 { "BACK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0405) } },
768#else
769 { 0, 0, NoIntrinsic, { 0, 0 } },
770#endif
771#if ENABLE(WEBGL)
772 { "FRONT_AND_BACK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0408) } },
773#else
774 { 0, 0, NoIntrinsic, { 0, 0 } },
775#endif
776#if ENABLE(WEBGL)
777 { "TEXTURE_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0DE1) } },
778#else
779 { 0, 0, NoIntrinsic, { 0, 0 } },
780#endif
781#if ENABLE(WEBGL)
782 { "CULL_FACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B44) } },
783#else
784 { 0, 0, NoIntrinsic, { 0, 0 } },
785#endif
786#if ENABLE(WEBGL)
787 { "BLEND", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0BE2) } },
788#else
789 { 0, 0, NoIntrinsic, { 0, 0 } },
790#endif
791#if ENABLE(WEBGL)
792 { "DITHER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0BD0) } },
793#else
794 { 0, 0, NoIntrinsic, { 0, 0 } },
795#endif
796#if ENABLE(WEBGL)
797 { "STENCIL_TEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B90) } },
798#else
799 { 0, 0, NoIntrinsic, { 0, 0 } },
800#endif
801#if ENABLE(WEBGL)
802 { "DEPTH_TEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B71) } },
803#else
804 { 0, 0, NoIntrinsic, { 0, 0 } },
805#endif
806#if ENABLE(WEBGL)
807 { "SCISSOR_TEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C11) } },
808#else
809 { 0, 0, NoIntrinsic, { 0, 0 } },
810#endif
811#if ENABLE(WEBGL)
812 { "POLYGON_OFFSET_FILL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8037) } },
813#else
814 { 0, 0, NoIntrinsic, { 0, 0 } },
815#endif
816#if ENABLE(WEBGL)
817 { "SAMPLE_ALPHA_TO_COVERAGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x809E) } },
818#else
819 { 0, 0, NoIntrinsic, { 0, 0 } },
820#endif
821#if ENABLE(WEBGL)
822 { "SAMPLE_COVERAGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80A0) } },
823#else
824 { 0, 0, NoIntrinsic, { 0, 0 } },
825#endif
826#if ENABLE(WEBGL)
827 { "NO_ERROR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0) } },
828#else
829 { 0, 0, NoIntrinsic, { 0, 0 } },
830#endif
831#if ENABLE(WEBGL)
832 { "INVALID_ENUM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0500) } },
833#else
834 { 0, 0, NoIntrinsic, { 0, 0 } },
835#endif
836#if ENABLE(WEBGL)
837 { "INVALID_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0501) } },
838#else
839 { 0, 0, NoIntrinsic, { 0, 0 } },
840#endif
841#if ENABLE(WEBGL)
842 { "INVALID_OPERATION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0502) } },
843#else
844 { 0, 0, NoIntrinsic, { 0, 0 } },
845#endif
846#if ENABLE(WEBGL)
847 { "OUT_OF_MEMORY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0505) } },
848#else
849 { 0, 0, NoIntrinsic, { 0, 0 } },
850#endif
851#if ENABLE(WEBGL)
852 { "CW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0900) } },
853#else
854 { 0, 0, NoIntrinsic, { 0, 0 } },
855#endif
856#if ENABLE(WEBGL)
857 { "CCW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0901) } },
858#else
859 { 0, 0, NoIntrinsic, { 0, 0 } },
860#endif
861#if ENABLE(WEBGL)
862 { "LINE_WIDTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B21) } },
863#else
864 { 0, 0, NoIntrinsic, { 0, 0 } },
865#endif
866#if ENABLE(WEBGL)
867 { "ALIASED_POINT_SIZE_RANGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x846D) } },
868#else
869 { 0, 0, NoIntrinsic, { 0, 0 } },
870#endif
871#if ENABLE(WEBGL)
872 { "ALIASED_LINE_WIDTH_RANGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x846E) } },
873#else
874 { 0, 0, NoIntrinsic, { 0, 0 } },
875#endif
876#if ENABLE(WEBGL)
877 { "CULL_FACE_MODE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B45) } },
878#else
879 { 0, 0, NoIntrinsic, { 0, 0 } },
880#endif
881#if ENABLE(WEBGL)
882 { "FRONT_FACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B46) } },
883#else
884 { 0, 0, NoIntrinsic, { 0, 0 } },
885#endif
886#if ENABLE(WEBGL)
887 { "DEPTH_RANGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B70) } },
888#else
889 { 0, 0, NoIntrinsic, { 0, 0 } },
890#endif
891#if ENABLE(WEBGL)
892 { "DEPTH_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B72) } },
893#else
894 { 0, 0, NoIntrinsic, { 0, 0 } },
895#endif
896#if ENABLE(WEBGL)
897 { "DEPTH_CLEAR_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B73) } },
898#else
899 { 0, 0, NoIntrinsic, { 0, 0 } },
900#endif
901#if ENABLE(WEBGL)
902 { "DEPTH_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B74) } },
903#else
904 { 0, 0, NoIntrinsic, { 0, 0 } },
905#endif
906#if ENABLE(WEBGL)
907 { "STENCIL_CLEAR_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B91) } },
908#else
909 { 0, 0, NoIntrinsic, { 0, 0 } },
910#endif
911#if ENABLE(WEBGL)
912 { "STENCIL_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B92) } },
913#else
914 { 0, 0, NoIntrinsic, { 0, 0 } },
915#endif
916#if ENABLE(WEBGL)
917 { "STENCIL_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B94) } },
918#else
919 { 0, 0, NoIntrinsic, { 0, 0 } },
920#endif
921#if ENABLE(WEBGL)
922 { "STENCIL_PASS_DEPTH_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B95) } },
923#else
924 { 0, 0, NoIntrinsic, { 0, 0 } },
925#endif
926#if ENABLE(WEBGL)
927 { "STENCIL_PASS_DEPTH_PASS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B96) } },
928#else
929 { 0, 0, NoIntrinsic, { 0, 0 } },
930#endif
931#if ENABLE(WEBGL)
932 { "STENCIL_REF", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B97) } },
933#else
934 { 0, 0, NoIntrinsic, { 0, 0 } },
935#endif
936#if ENABLE(WEBGL)
937 { "STENCIL_VALUE_MASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B93) } },
938#else
939 { 0, 0, NoIntrinsic, { 0, 0 } },
940#endif
941#if ENABLE(WEBGL)
942 { "STENCIL_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B98) } },
943#else
944 { 0, 0, NoIntrinsic, { 0, 0 } },
945#endif
946#if ENABLE(WEBGL)
947 { "STENCIL_BACK_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8800) } },
948#else
949 { 0, 0, NoIntrinsic, { 0, 0 } },
950#endif
951#if ENABLE(WEBGL)
952 { "STENCIL_BACK_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8801) } },
953#else
954 { 0, 0, NoIntrinsic, { 0, 0 } },
955#endif
956#if ENABLE(WEBGL)
957 { "STENCIL_BACK_PASS_DEPTH_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8802) } },
958#else
959 { 0, 0, NoIntrinsic, { 0, 0 } },
960#endif
961#if ENABLE(WEBGL)
962 { "STENCIL_BACK_PASS_DEPTH_PASS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8803) } },
963#else
964 { 0, 0, NoIntrinsic, { 0, 0 } },
965#endif
966#if ENABLE(WEBGL)
967 { "STENCIL_BACK_REF", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA3) } },
968#else
969 { 0, 0, NoIntrinsic, { 0, 0 } },
970#endif
971#if ENABLE(WEBGL)
972 { "STENCIL_BACK_VALUE_MASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA4) } },
973#else
974 { 0, 0, NoIntrinsic, { 0, 0 } },
975#endif
976#if ENABLE(WEBGL)
977 { "STENCIL_BACK_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA5) } },
978#else
979 { 0, 0, NoIntrinsic, { 0, 0 } },
980#endif
981#if ENABLE(WEBGL)
982 { "VIEWPORT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0BA2) } },
983#else
984 { 0, 0, NoIntrinsic, { 0, 0 } },
985#endif
986#if ENABLE(WEBGL)
987 { "SCISSOR_BOX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C10) } },
988#else
989 { 0, 0, NoIntrinsic, { 0, 0 } },
990#endif
991#if ENABLE(WEBGL)
992 { "COLOR_CLEAR_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C22) } },
993#else
994 { 0, 0, NoIntrinsic, { 0, 0 } },
995#endif
996#if ENABLE(WEBGL)
997 { "COLOR_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C23) } },
998#else
999 { 0, 0, NoIntrinsic, { 0, 0 } },
1000#endif
1001#if ENABLE(WEBGL)
1002 { "UNPACK_ALIGNMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0CF5) } },
1003#else
1004 { 0, 0, NoIntrinsic, { 0, 0 } },
1005#endif
1006#if ENABLE(WEBGL)
1007 { "PACK_ALIGNMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D05) } },
1008#else
1009 { 0, 0, NoIntrinsic, { 0, 0 } },
1010#endif
1011#if ENABLE(WEBGL)
1012 { "MAX_TEXTURE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D33) } },
1013#else
1014 { 0, 0, NoIntrinsic, { 0, 0 } },
1015#endif
1016#if ENABLE(WEBGL)
1017 { "MAX_VIEWPORT_DIMS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D3A) } },
1018#else
1019 { 0, 0, NoIntrinsic, { 0, 0 } },
1020#endif
1021#if ENABLE(WEBGL)
1022 { "SUBPIXEL_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D50) } },
1023#else
1024 { 0, 0, NoIntrinsic, { 0, 0 } },
1025#endif
1026#if ENABLE(WEBGL)
1027 { "RED_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D52) } },
1028#else
1029 { 0, 0, NoIntrinsic, { 0, 0 } },
1030#endif
1031#if ENABLE(WEBGL)
1032 { "GREEN_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D53) } },
1033#else
1034 { 0, 0, NoIntrinsic, { 0, 0 } },
1035#endif
1036#if ENABLE(WEBGL)
1037 { "BLUE_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D54) } },
1038#else
1039 { 0, 0, NoIntrinsic, { 0, 0 } },
1040#endif
1041#if ENABLE(WEBGL)
1042 { "ALPHA_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D55) } },
1043#else
1044 { 0, 0, NoIntrinsic, { 0, 0 } },
1045#endif
1046#if ENABLE(WEBGL)
1047 { "DEPTH_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D56) } },
1048#else
1049 { 0, 0, NoIntrinsic, { 0, 0 } },
1050#endif
1051#if ENABLE(WEBGL)
1052 { "STENCIL_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D57) } },
1053#else
1054 { 0, 0, NoIntrinsic, { 0, 0 } },
1055#endif
1056#if ENABLE(WEBGL)
1057 { "POLYGON_OFFSET_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2A00) } },
1058#else
1059 { 0, 0, NoIntrinsic, { 0, 0 } },
1060#endif
1061#if ENABLE(WEBGL)
1062 { "POLYGON_OFFSET_FACTOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8038) } },
1063#else
1064 { 0, 0, NoIntrinsic, { 0, 0 } },
1065#endif
1066#if ENABLE(WEBGL)
1067 { "TEXTURE_BINDING_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8069) } },
1068#else
1069 { 0, 0, NoIntrinsic, { 0, 0 } },
1070#endif
1071#if ENABLE(WEBGL)
1072 { "SAMPLE_BUFFERS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80A8) } },
1073#else
1074 { 0, 0, NoIntrinsic, { 0, 0 } },
1075#endif
1076#if ENABLE(WEBGL)
1077 { "SAMPLES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80A9) } },
1078#else
1079 { 0, 0, NoIntrinsic, { 0, 0 } },
1080#endif
1081#if ENABLE(WEBGL)
1082 { "SAMPLE_COVERAGE_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80AA) } },
1083#else
1084 { 0, 0, NoIntrinsic, { 0, 0 } },
1085#endif
1086#if ENABLE(WEBGL)
1087 { "SAMPLE_COVERAGE_INVERT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80AB) } },
1088#else
1089 { 0, 0, NoIntrinsic, { 0, 0 } },
1090#endif
1091#if ENABLE(WEBGL)
1092 { "COMPRESSED_TEXTURE_FORMATS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x86A3) } },
1093#else
1094 { 0, 0, NoIntrinsic, { 0, 0 } },
1095#endif
1096#if ENABLE(WEBGL)
1097 { "DONT_CARE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1100) } },
1098#else
1099 { 0, 0, NoIntrinsic, { 0, 0 } },
1100#endif
1101#if ENABLE(WEBGL)
1102 { "FASTEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1101) } },
1103#else
1104 { 0, 0, NoIntrinsic, { 0, 0 } },
1105#endif
1106#if ENABLE(WEBGL)
1107 { "NICEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1102) } },
1108#else
1109 { 0, 0, NoIntrinsic, { 0, 0 } },
1110#endif
1111#if ENABLE(WEBGL)
1112 { "GENERATE_MIPMAP_HINT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8192) } },
1113#else
1114 { 0, 0, NoIntrinsic, { 0, 0 } },
1115#endif
1116#if ENABLE(WEBGL)
1117 { "BYTE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1400) } },
1118#else
1119 { 0, 0, NoIntrinsic, { 0, 0 } },
1120#endif
1121#if ENABLE(WEBGL)
1122 { "UNSIGNED_BYTE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1401) } },
1123#else
1124 { 0, 0, NoIntrinsic, { 0, 0 } },
1125#endif
1126#if ENABLE(WEBGL)
1127 { "SHORT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1402) } },
1128#else
1129 { 0, 0, NoIntrinsic, { 0, 0 } },
1130#endif
1131#if ENABLE(WEBGL)
1132 { "UNSIGNED_SHORT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1403) } },
1133#else
1134 { 0, 0, NoIntrinsic, { 0, 0 } },
1135#endif
1136#if ENABLE(WEBGL)
1137 { "INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1404) } },
1138#else
1139 { 0, 0, NoIntrinsic, { 0, 0 } },
1140#endif
1141#if ENABLE(WEBGL)
1142 { "UNSIGNED_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1405) } },
1143#else
1144 { 0, 0, NoIntrinsic, { 0, 0 } },
1145#endif
1146#if ENABLE(WEBGL)
1147 { "FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1406) } },
1148#else
1149 { 0, 0, NoIntrinsic, { 0, 0 } },
1150#endif
1151#if ENABLE(WEBGL)
1152 { "DEPTH_COMPONENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1902) } },
1153#else
1154 { 0, 0, NoIntrinsic, { 0, 0 } },
1155#endif
1156#if ENABLE(WEBGL)
1157 { "ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1906) } },
1158#else
1159 { 0, 0, NoIntrinsic, { 0, 0 } },
1160#endif
1161#if ENABLE(WEBGL)
1162 { "RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1907) } },
1163#else
1164 { 0, 0, NoIntrinsic, { 0, 0 } },
1165#endif
1166#if ENABLE(WEBGL)
1167 { "RGBA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1908) } },
1168#else
1169 { 0, 0, NoIntrinsic, { 0, 0 } },
1170#endif
1171#if ENABLE(WEBGL)
1172 { "LUMINANCE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1909) } },
1173#else
1174 { 0, 0, NoIntrinsic, { 0, 0 } },
1175#endif
1176#if ENABLE(WEBGL)
1177 { "LUMINANCE_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x190A) } },
1178#else
1179 { 0, 0, NoIntrinsic, { 0, 0 } },
1180#endif
1181#if ENABLE(WEBGL)
1182 { "UNSIGNED_SHORT_4_4_4_4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8033) } },
1183#else
1184 { 0, 0, NoIntrinsic, { 0, 0 } },
1185#endif
1186#if ENABLE(WEBGL)
1187 { "UNSIGNED_SHORT_5_5_5_1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8034) } },
1188#else
1189 { 0, 0, NoIntrinsic, { 0, 0 } },
1190#endif
1191#if ENABLE(WEBGL)
1192 { "UNSIGNED_SHORT_5_6_5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8363) } },
1193#else
1194 { 0, 0, NoIntrinsic, { 0, 0 } },
1195#endif
1196#if ENABLE(WEBGL)
1197 { "FRAGMENT_SHADER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B30) } },
1198#else
1199 { 0, 0, NoIntrinsic, { 0, 0 } },
1200#endif
1201#if ENABLE(WEBGL)
1202 { "VERTEX_SHADER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B31) } },
1203#else
1204 { 0, 0, NoIntrinsic, { 0, 0 } },
1205#endif
1206#if ENABLE(WEBGL)
1207 { "MAX_VERTEX_ATTRIBS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8869) } },
1208#else
1209 { 0, 0, NoIntrinsic, { 0, 0 } },
1210#endif
1211#if ENABLE(WEBGL)
1212 { "MAX_VERTEX_UNIFORM_VECTORS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DFB) } },
1213#else
1214 { 0, 0, NoIntrinsic, { 0, 0 } },
1215#endif
1216#if ENABLE(WEBGL)
1217 { "MAX_VARYING_VECTORS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DFC) } },
1218#else
1219 { 0, 0, NoIntrinsic, { 0, 0 } },
1220#endif
1221#if ENABLE(WEBGL)
1222 { "MAX_COMBINED_TEXTURE_IMAGE_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4D) } },
1223#else
1224 { 0, 0, NoIntrinsic, { 0, 0 } },
1225#endif
1226#if ENABLE(WEBGL)
1227 { "MAX_VERTEX_TEXTURE_IMAGE_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4C) } },
1228#else
1229 { 0, 0, NoIntrinsic, { 0, 0 } },
1230#endif
1231#if ENABLE(WEBGL)
1232 { "MAX_TEXTURE_IMAGE_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8872) } },
1233#else
1234 { 0, 0, NoIntrinsic, { 0, 0 } },
1235#endif
1236#if ENABLE(WEBGL)
1237 { "MAX_FRAGMENT_UNIFORM_VECTORS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DFD) } },
1238#else
1239 { 0, 0, NoIntrinsic, { 0, 0 } },
1240#endif
1241#if ENABLE(WEBGL)
1242 { "SHADER_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4F) } },
1243#else
1244 { 0, 0, NoIntrinsic, { 0, 0 } },
1245#endif
1246#if ENABLE(WEBGL)
1247 { "DELETE_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B80) } },
1248#else
1249 { 0, 0, NoIntrinsic, { 0, 0 } },
1250#endif
1251#if ENABLE(WEBGL)
1252 { "LINK_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B82) } },
1253#else
1254 { 0, 0, NoIntrinsic, { 0, 0 } },
1255#endif
1256#if ENABLE(WEBGL)
1257 { "VALIDATE_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B83) } },
1258#else
1259 { 0, 0, NoIntrinsic, { 0, 0 } },
1260#endif
1261#if ENABLE(WEBGL)
1262 { "ATTACHED_SHADERS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B85) } },
1263#else
1264 { 0, 0, NoIntrinsic, { 0, 0 } },
1265#endif
1266#if ENABLE(WEBGL)
1267 { "ACTIVE_UNIFORMS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B86) } },
1268#else
1269 { 0, 0, NoIntrinsic, { 0, 0 } },
1270#endif
1271#if ENABLE(WEBGL)
1272 { "ACTIVE_ATTRIBUTES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B89) } },
1273#else
1274 { 0, 0, NoIntrinsic, { 0, 0 } },
1275#endif
1276#if ENABLE(WEBGL)
1277 { "SHADING_LANGUAGE_VERSION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B8C) } },
1278#else
1279 { 0, 0, NoIntrinsic, { 0, 0 } },
1280#endif
1281#if ENABLE(WEBGL)
1282 { "CURRENT_PROGRAM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B8D) } },
1283#else
1284 { 0, 0, NoIntrinsic, { 0, 0 } },
1285#endif
1286#if ENABLE(WEBGL)
1287 { "NEVER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0200) } },
1288#else
1289 { 0, 0, NoIntrinsic, { 0, 0 } },
1290#endif
1291#if ENABLE(WEBGL)
1292 { "LESS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0201) } },
1293#else
1294 { 0, 0, NoIntrinsic, { 0, 0 } },
1295#endif
1296#if ENABLE(WEBGL)
1297 { "EQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0202) } },
1298#else
1299 { 0, 0, NoIntrinsic, { 0, 0 } },
1300#endif
1301#if ENABLE(WEBGL)
1302 { "LEQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0203) } },
1303#else
1304 { 0, 0, NoIntrinsic, { 0, 0 } },
1305#endif
1306#if ENABLE(WEBGL)
1307 { "GREATER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0204) } },
1308#else
1309 { 0, 0, NoIntrinsic, { 0, 0 } },
1310#endif
1311#if ENABLE(WEBGL)
1312 { "NOTEQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0205) } },
1313#else
1314 { 0, 0, NoIntrinsic, { 0, 0 } },
1315#endif
1316#if ENABLE(WEBGL)
1317 { "GEQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0206) } },
1318#else
1319 { 0, 0, NoIntrinsic, { 0, 0 } },
1320#endif
1321#if ENABLE(WEBGL)
1322 { "ALWAYS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0207) } },
1323#else
1324 { 0, 0, NoIntrinsic, { 0, 0 } },
1325#endif
1326#if ENABLE(WEBGL)
1327 { "KEEP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E00) } },
1328#else
1329 { 0, 0, NoIntrinsic, { 0, 0 } },
1330#endif
1331#if ENABLE(WEBGL)
1332 { "REPLACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E01) } },
1333#else
1334 { 0, 0, NoIntrinsic, { 0, 0 } },
1335#endif
1336#if ENABLE(WEBGL)
1337 { "INCR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E02) } },
1338#else
1339 { 0, 0, NoIntrinsic, { 0, 0 } },
1340#endif
1341#if ENABLE(WEBGL)
1342 { "DECR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E03) } },
1343#else
1344 { 0, 0, NoIntrinsic, { 0, 0 } },
1345#endif
1346#if ENABLE(WEBGL)
1347 { "INVERT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x150A) } },
1348#else
1349 { 0, 0, NoIntrinsic, { 0, 0 } },
1350#endif
1351#if ENABLE(WEBGL)
1352 { "INCR_WRAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8507) } },
1353#else
1354 { 0, 0, NoIntrinsic, { 0, 0 } },
1355#endif
1356#if ENABLE(WEBGL)
1357 { "DECR_WRAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8508) } },
1358#else
1359 { 0, 0, NoIntrinsic, { 0, 0 } },
1360#endif
1361#if ENABLE(WEBGL)
1362 { "VENDOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1F00) } },
1363#else
1364 { 0, 0, NoIntrinsic, { 0, 0 } },
1365#endif
1366#if ENABLE(WEBGL)
1367 { "RENDERER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1F01) } },
1368#else
1369 { 0, 0, NoIntrinsic, { 0, 0 } },
1370#endif
1371#if ENABLE(WEBGL)
1372 { "VERSION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1F02) } },
1373#else
1374 { 0, 0, NoIntrinsic, { 0, 0 } },
1375#endif
1376#if ENABLE(WEBGL)
1377 { "NEAREST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2600) } },
1378#else
1379 { 0, 0, NoIntrinsic, { 0, 0 } },
1380#endif
1381#if ENABLE(WEBGL)
1382 { "LINEAR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2601) } },
1383#else
1384 { 0, 0, NoIntrinsic, { 0, 0 } },
1385#endif
1386#if ENABLE(WEBGL)
1387 { "NEAREST_MIPMAP_NEAREST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2700) } },
1388#else
1389 { 0, 0, NoIntrinsic, { 0, 0 } },
1390#endif
1391#if ENABLE(WEBGL)
1392 { "LINEAR_MIPMAP_NEAREST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2701) } },
1393#else
1394 { 0, 0, NoIntrinsic, { 0, 0 } },
1395#endif
1396#if ENABLE(WEBGL)
1397 { "NEAREST_MIPMAP_LINEAR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2702) } },
1398#else
1399 { 0, 0, NoIntrinsic, { 0, 0 } },
1400#endif
1401#if ENABLE(WEBGL)
1402 { "LINEAR_MIPMAP_LINEAR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2703) } },
1403#else
1404 { 0, 0, NoIntrinsic, { 0, 0 } },
1405#endif
1406#if ENABLE(WEBGL)
1407 { "TEXTURE_MAG_FILTER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2800) } },
1408#else
1409 { 0, 0, NoIntrinsic, { 0, 0 } },
1410#endif
1411#if ENABLE(WEBGL)
1412 { "TEXTURE_MIN_FILTER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2801) } },
1413#else
1414 { 0, 0, NoIntrinsic, { 0, 0 } },
1415#endif
1416#if ENABLE(WEBGL)
1417 { "TEXTURE_WRAP_S", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2802) } },
1418#else
1419 { 0, 0, NoIntrinsic, { 0, 0 } },
1420#endif
1421#if ENABLE(WEBGL)
1422 { "TEXTURE_WRAP_T", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2803) } },
1423#else
1424 { 0, 0, NoIntrinsic, { 0, 0 } },
1425#endif
1426#if ENABLE(WEBGL)
1427 { "TEXTURE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1702) } },
1428#else
1429 { 0, 0, NoIntrinsic, { 0, 0 } },
1430#endif
1431#if ENABLE(WEBGL)
1432 { "TEXTURE_CUBE_MAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8513) } },
1433#else
1434 { 0, 0, NoIntrinsic, { 0, 0 } },
1435#endif
1436#if ENABLE(WEBGL)
1437 { "TEXTURE_BINDING_CUBE_MAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8514) } },
1438#else
1439 { 0, 0, NoIntrinsic, { 0, 0 } },
1440#endif
1441#if ENABLE(WEBGL)
1442 { "TEXTURE_CUBE_MAP_POSITIVE_X", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8515) } },
1443#else
1444 { 0, 0, NoIntrinsic, { 0, 0 } },
1445#endif
1446#if ENABLE(WEBGL)
1447 { "TEXTURE_CUBE_MAP_NEGATIVE_X", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8516) } },
1448#else
1449 { 0, 0, NoIntrinsic, { 0, 0 } },
1450#endif
1451#if ENABLE(WEBGL)
1452 { "TEXTURE_CUBE_MAP_POSITIVE_Y", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8517) } },
1453#else
1454 { 0, 0, NoIntrinsic, { 0, 0 } },
1455#endif
1456#if ENABLE(WEBGL)
1457 { "TEXTURE_CUBE_MAP_NEGATIVE_Y", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8518) } },
1458#else
1459 { 0, 0, NoIntrinsic, { 0, 0 } },
1460#endif
1461#if ENABLE(WEBGL)
1462 { "TEXTURE_CUBE_MAP_POSITIVE_Z", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8519) } },
1463#else
1464 { 0, 0, NoIntrinsic, { 0, 0 } },
1465#endif
1466#if ENABLE(WEBGL)
1467 { "TEXTURE_CUBE_MAP_NEGATIVE_Z", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x851A) } },
1468#else
1469 { 0, 0, NoIntrinsic, { 0, 0 } },
1470#endif
1471#if ENABLE(WEBGL)
1472 { "MAX_CUBE_MAP_TEXTURE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x851C) } },
1473#else
1474 { 0, 0, NoIntrinsic, { 0, 0 } },
1475#endif
1476#if ENABLE(WEBGL)
1477 { "TEXTURE0", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C0) } },
1478#else
1479 { 0, 0, NoIntrinsic, { 0, 0 } },
1480#endif
1481#if ENABLE(WEBGL)
1482 { "TEXTURE1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C1) } },
1483#else
1484 { 0, 0, NoIntrinsic, { 0, 0 } },
1485#endif
1486#if ENABLE(WEBGL)
1487 { "TEXTURE2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C2) } },
1488#else
1489 { 0, 0, NoIntrinsic, { 0, 0 } },
1490#endif
1491#if ENABLE(WEBGL)
1492 { "TEXTURE3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C3) } },
1493#else
1494 { 0, 0, NoIntrinsic, { 0, 0 } },
1495#endif
1496#if ENABLE(WEBGL)
1497 { "TEXTURE4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C4) } },
1498#else
1499 { 0, 0, NoIntrinsic, { 0, 0 } },
1500#endif
1501#if ENABLE(WEBGL)
1502 { "TEXTURE5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C5) } },
1503#else
1504 { 0, 0, NoIntrinsic, { 0, 0 } },
1505#endif
1506#if ENABLE(WEBGL)
1507 { "TEXTURE6", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C6) } },
1508#else
1509 { 0, 0, NoIntrinsic, { 0, 0 } },
1510#endif
1511#if ENABLE(WEBGL)
1512 { "TEXTURE7", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C7) } },
1513#else
1514 { 0, 0, NoIntrinsic, { 0, 0 } },
1515#endif
1516#if ENABLE(WEBGL)
1517 { "TEXTURE8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C8) } },
1518#else
1519 { 0, 0, NoIntrinsic, { 0, 0 } },
1520#endif
1521#if ENABLE(WEBGL)
1522 { "TEXTURE9", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C9) } },
1523#else
1524 { 0, 0, NoIntrinsic, { 0, 0 } },
1525#endif
1526#if ENABLE(WEBGL)
1527 { "TEXTURE10", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CA) } },
1528#else
1529 { 0, 0, NoIntrinsic, { 0, 0 } },
1530#endif
1531#if ENABLE(WEBGL)
1532 { "TEXTURE11", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CB) } },
1533#else
1534 { 0, 0, NoIntrinsic, { 0, 0 } },
1535#endif
1536#if ENABLE(WEBGL)
1537 { "TEXTURE12", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CC) } },
1538#else
1539 { 0, 0, NoIntrinsic, { 0, 0 } },
1540#endif
1541#if ENABLE(WEBGL)
1542 { "TEXTURE13", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CD) } },
1543#else
1544 { 0, 0, NoIntrinsic, { 0, 0 } },
1545#endif
1546#if ENABLE(WEBGL)
1547 { "TEXTURE14", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CE) } },
1548#else
1549 { 0, 0, NoIntrinsic, { 0, 0 } },
1550#endif
1551#if ENABLE(WEBGL)
1552 { "TEXTURE15", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CF) } },
1553#else
1554 { 0, 0, NoIntrinsic, { 0, 0 } },
1555#endif
1556#if ENABLE(WEBGL)
1557 { "TEXTURE16", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D0) } },
1558#else
1559 { 0, 0, NoIntrinsic, { 0, 0 } },
1560#endif
1561#if ENABLE(WEBGL)
1562 { "TEXTURE17", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D1) } },
1563#else
1564 { 0, 0, NoIntrinsic, { 0, 0 } },
1565#endif
1566#if ENABLE(WEBGL)
1567 { "TEXTURE18", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D2) } },
1568#else
1569 { 0, 0, NoIntrinsic, { 0, 0 } },
1570#endif
1571#if ENABLE(WEBGL)
1572 { "TEXTURE19", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D3) } },
1573#else
1574 { 0, 0, NoIntrinsic, { 0, 0 } },
1575#endif
1576#if ENABLE(WEBGL)
1577 { "TEXTURE20", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D4) } },
1578#else
1579 { 0, 0, NoIntrinsic, { 0, 0 } },
1580#endif
1581#if ENABLE(WEBGL)
1582 { "TEXTURE21", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D5) } },
1583#else
1584 { 0, 0, NoIntrinsic, { 0, 0 } },
1585#endif
1586#if ENABLE(WEBGL)
1587 { "TEXTURE22", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D6) } },
1588#else
1589 { 0, 0, NoIntrinsic, { 0, 0 } },
1590#endif
1591#if ENABLE(WEBGL)
1592 { "TEXTURE23", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D7) } },
1593#else
1594 { 0, 0, NoIntrinsic, { 0, 0 } },
1595#endif
1596#if ENABLE(WEBGL)
1597 { "TEXTURE24", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D8) } },
1598#else
1599 { 0, 0, NoIntrinsic, { 0, 0 } },
1600#endif
1601#if ENABLE(WEBGL)
1602 { "TEXTURE25", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D9) } },
1603#else
1604 { 0, 0, NoIntrinsic, { 0, 0 } },
1605#endif
1606#if ENABLE(WEBGL)
1607 { "TEXTURE26", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DA) } },
1608#else
1609 { 0, 0, NoIntrinsic, { 0, 0 } },
1610#endif
1611#if ENABLE(WEBGL)
1612 { "TEXTURE27", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DB) } },
1613#else
1614 { 0, 0, NoIntrinsic, { 0, 0 } },
1615#endif
1616#if ENABLE(WEBGL)
1617 { "TEXTURE28", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DC) } },
1618#else
1619 { 0, 0, NoIntrinsic, { 0, 0 } },
1620#endif
1621#if ENABLE(WEBGL)
1622 { "TEXTURE29", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DD) } },
1623#else
1624 { 0, 0, NoIntrinsic, { 0, 0 } },
1625#endif
1626#if ENABLE(WEBGL)
1627 { "TEXTURE30", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DE) } },
1628#else
1629 { 0, 0, NoIntrinsic, { 0, 0 } },
1630#endif
1631#if ENABLE(WEBGL)
1632 { "TEXTURE31", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DF) } },
1633#else
1634 { 0, 0, NoIntrinsic, { 0, 0 } },
1635#endif
1636#if ENABLE(WEBGL)
1637 { "ACTIVE_TEXTURE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84E0) } },
1638#else
1639 { 0, 0, NoIntrinsic, { 0, 0 } },
1640#endif
1641#if ENABLE(WEBGL)
1642 { "REPEAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2901) } },
1643#else
1644 { 0, 0, NoIntrinsic, { 0, 0 } },
1645#endif
1646#if ENABLE(WEBGL)
1647 { "CLAMP_TO_EDGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x812F) } },
1648#else
1649 { 0, 0, NoIntrinsic, { 0, 0 } },
1650#endif
1651#if ENABLE(WEBGL)
1652 { "MIRRORED_REPEAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8370) } },
1653#else
1654 { 0, 0, NoIntrinsic, { 0, 0 } },
1655#endif
1656#if ENABLE(WEBGL)
1657 { "FLOAT_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B50) } },
1658#else
1659 { 0, 0, NoIntrinsic, { 0, 0 } },
1660#endif
1661#if ENABLE(WEBGL)
1662 { "FLOAT_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B51) } },
1663#else
1664 { 0, 0, NoIntrinsic, { 0, 0 } },
1665#endif
1666#if ENABLE(WEBGL)
1667 { "FLOAT_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B52) } },
1668#else
1669 { 0, 0, NoIntrinsic, { 0, 0 } },
1670#endif
1671#if ENABLE(WEBGL)
1672 { "INT_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B53) } },
1673#else
1674 { 0, 0, NoIntrinsic, { 0, 0 } },
1675#endif
1676#if ENABLE(WEBGL)
1677 { "INT_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B54) } },
1678#else
1679 { 0, 0, NoIntrinsic, { 0, 0 } },
1680#endif
1681#if ENABLE(WEBGL)
1682 { "INT_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B55) } },
1683#else
1684 { 0, 0, NoIntrinsic, { 0, 0 } },
1685#endif
1686#if ENABLE(WEBGL)
1687 { "BOOL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B56) } },
1688#else
1689 { 0, 0, NoIntrinsic, { 0, 0 } },
1690#endif
1691#if ENABLE(WEBGL)
1692 { "BOOL_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B57) } },
1693#else
1694 { 0, 0, NoIntrinsic, { 0, 0 } },
1695#endif
1696#if ENABLE(WEBGL)
1697 { "BOOL_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B58) } },
1698#else
1699 { 0, 0, NoIntrinsic, { 0, 0 } },
1700#endif
1701#if ENABLE(WEBGL)
1702 { "BOOL_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B59) } },
1703#else
1704 { 0, 0, NoIntrinsic, { 0, 0 } },
1705#endif
1706#if ENABLE(WEBGL)
1707 { "FLOAT_MAT2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5A) } },
1708#else
1709 { 0, 0, NoIntrinsic, { 0, 0 } },
1710#endif
1711#if ENABLE(WEBGL)
1712 { "FLOAT_MAT3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5B) } },
1713#else
1714 { 0, 0, NoIntrinsic, { 0, 0 } },
1715#endif
1716#if ENABLE(WEBGL)
1717 { "FLOAT_MAT4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5C) } },
1718#else
1719 { 0, 0, NoIntrinsic, { 0, 0 } },
1720#endif
1721#if ENABLE(WEBGL)
1722 { "SAMPLER_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5E) } },
1723#else
1724 { 0, 0, NoIntrinsic, { 0, 0 } },
1725#endif
1726#if ENABLE(WEBGL)
1727 { "SAMPLER_CUBE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B60) } },
1728#else
1729 { 0, 0, NoIntrinsic, { 0, 0 } },
1730#endif
1731#if ENABLE(WEBGL)
1732 { "VERTEX_ATTRIB_ARRAY_ENABLED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8622) } },
1733#else
1734 { 0, 0, NoIntrinsic, { 0, 0 } },
1735#endif
1736#if ENABLE(WEBGL)
1737 { "VERTEX_ATTRIB_ARRAY_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8623) } },
1738#else
1739 { 0, 0, NoIntrinsic, { 0, 0 } },
1740#endif
1741#if ENABLE(WEBGL)
1742 { "VERTEX_ATTRIB_ARRAY_STRIDE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8624) } },
1743#else
1744 { 0, 0, NoIntrinsic, { 0, 0 } },
1745#endif
1746#if ENABLE(WEBGL)
1747 { "VERTEX_ATTRIB_ARRAY_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8625) } },
1748#else
1749 { 0, 0, NoIntrinsic, { 0, 0 } },
1750#endif
1751#if ENABLE(WEBGL)
1752 { "VERTEX_ATTRIB_ARRAY_NORMALIZED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x886A) } },
1753#else
1754 { 0, 0, NoIntrinsic, { 0, 0 } },
1755#endif
1756#if ENABLE(WEBGL)
1757 { "VERTEX_ATTRIB_ARRAY_POINTER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8645) } },
1758#else
1759 { 0, 0, NoIntrinsic, { 0, 0 } },
1760#endif
1761#if ENABLE(WEBGL)
1762 { "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x889F) } },
1763#else
1764 { 0, 0, NoIntrinsic, { 0, 0 } },
1765#endif
1766#if ENABLE(WEBGL)
1767 { "IMPLEMENTATION_COLOR_READ_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B9A) } },
1768#else
1769 { 0, 0, NoIntrinsic, { 0, 0 } },
1770#endif
1771#if ENABLE(WEBGL)
1772 { "IMPLEMENTATION_COLOR_READ_FORMAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B9B) } },
1773#else
1774 { 0, 0, NoIntrinsic, { 0, 0 } },
1775#endif
1776#if ENABLE(WEBGL)
1777 { "COMPILE_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B81) } },
1778#else
1779 { 0, 0, NoIntrinsic, { 0, 0 } },
1780#endif
1781#if ENABLE(WEBGL)
1782 { "LOW_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF0) } },
1783#else
1784 { 0, 0, NoIntrinsic, { 0, 0 } },
1785#endif
1786#if ENABLE(WEBGL)
1787 { "MEDIUM_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF1) } },
1788#else
1789 { 0, 0, NoIntrinsic, { 0, 0 } },
1790#endif
1791#if ENABLE(WEBGL)
1792 { "HIGH_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF2) } },
1793#else
1794 { 0, 0, NoIntrinsic, { 0, 0 } },
1795#endif
1796#if ENABLE(WEBGL)
1797 { "LOW_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF3) } },
1798#else
1799 { 0, 0, NoIntrinsic, { 0, 0 } },
1800#endif
1801#if ENABLE(WEBGL)
1802 { "MEDIUM_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF4) } },
1803#else
1804 { 0, 0, NoIntrinsic, { 0, 0 } },
1805#endif
1806#if ENABLE(WEBGL)
1807 { "HIGH_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF5) } },
1808#else
1809 { 0, 0, NoIntrinsic, { 0, 0 } },
1810#endif
1811#if ENABLE(WEBGL)
1812 { "FRAMEBUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D40) } },
1813#else
1814 { 0, 0, NoIntrinsic, { 0, 0 } },
1815#endif
1816#if ENABLE(WEBGL)
1817 { "RENDERBUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D41) } },
1818#else
1819 { 0, 0, NoIntrinsic, { 0, 0 } },
1820#endif
1821#if ENABLE(WEBGL)
1822 { "RGBA4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8056) } },
1823#else
1824 { 0, 0, NoIntrinsic, { 0, 0 } },
1825#endif
1826#if ENABLE(WEBGL)
1827 { "RGB5_A1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8057) } },
1828#else
1829 { 0, 0, NoIntrinsic, { 0, 0 } },
1830#endif
1831#if ENABLE(WEBGL)
1832 { "RGB565", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D62) } },
1833#else
1834 { 0, 0, NoIntrinsic, { 0, 0 } },
1835#endif
1836#if ENABLE(WEBGL)
1837 { "DEPTH_COMPONENT16", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x81A5) } },
1838#else
1839 { 0, 0, NoIntrinsic, { 0, 0 } },
1840#endif
1841#if ENABLE(WEBGL)
1842 { "STENCIL_INDEX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1901) } },
1843#else
1844 { 0, 0, NoIntrinsic, { 0, 0 } },
1845#endif
1846#if ENABLE(WEBGL)
1847 { "STENCIL_INDEX8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D48) } },
1848#else
1849 { 0, 0, NoIntrinsic, { 0, 0 } },
1850#endif
1851#if ENABLE(WEBGL)
1852 { "DEPTH_STENCIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84F9) } },
1853#else
1854 { 0, 0, NoIntrinsic, { 0, 0 } },
1855#endif
1856#if ENABLE(WEBGL)
1857 { "RENDERBUFFER_WIDTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D42) } },
1858#else
1859 { 0, 0, NoIntrinsic, { 0, 0 } },
1860#endif
1861#if ENABLE(WEBGL)
1862 { "RENDERBUFFER_HEIGHT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D43) } },
1863#else
1864 { 0, 0, NoIntrinsic, { 0, 0 } },
1865#endif
1866#if ENABLE(WEBGL)
1867 { "RENDERBUFFER_INTERNAL_FORMAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D44) } },
1868#else
1869 { 0, 0, NoIntrinsic, { 0, 0 } },
1870#endif
1871#if ENABLE(WEBGL)
1872 { "RENDERBUFFER_RED_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D50) } },
1873#else
1874 { 0, 0, NoIntrinsic, { 0, 0 } },
1875#endif
1876#if ENABLE(WEBGL)
1877 { "RENDERBUFFER_GREEN_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D51) } },
1878#else
1879 { 0, 0, NoIntrinsic, { 0, 0 } },
1880#endif
1881#if ENABLE(WEBGL)
1882 { "RENDERBUFFER_BLUE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D52) } },
1883#else
1884 { 0, 0, NoIntrinsic, { 0, 0 } },
1885#endif
1886#if ENABLE(WEBGL)
1887 { "RENDERBUFFER_ALPHA_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D53) } },
1888#else
1889 { 0, 0, NoIntrinsic, { 0, 0 } },
1890#endif
1891#if ENABLE(WEBGL)
1892 { "RENDERBUFFER_DEPTH_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D54) } },
1893#else
1894 { 0, 0, NoIntrinsic, { 0, 0 } },
1895#endif
1896#if ENABLE(WEBGL)
1897 { "RENDERBUFFER_STENCIL_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D55) } },
1898#else
1899 { 0, 0, NoIntrinsic, { 0, 0 } },
1900#endif
1901#if ENABLE(WEBGL)
1902 { "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD0) } },
1903#else
1904 { 0, 0, NoIntrinsic, { 0, 0 } },
1905#endif
1906#if ENABLE(WEBGL)
1907 { "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD1) } },
1908#else
1909 { 0, 0, NoIntrinsic, { 0, 0 } },
1910#endif
1911#if ENABLE(WEBGL)
1912 { "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD2) } },
1913#else
1914 { 0, 0, NoIntrinsic, { 0, 0 } },
1915#endif
1916#if ENABLE(WEBGL)
1917 { "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD3) } },
1918#else
1919 { 0, 0, NoIntrinsic, { 0, 0 } },
1920#endif
1921#if ENABLE(WEBGL)
1922 { "COLOR_ATTACHMENT0", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE0) } },
1923#else
1924 { 0, 0, NoIntrinsic, { 0, 0 } },
1925#endif
1926#if ENABLE(WEBGL)
1927 { "DEPTH_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D00) } },
1928#else
1929 { 0, 0, NoIntrinsic, { 0, 0 } },
1930#endif
1931#if ENABLE(WEBGL)
1932 { "STENCIL_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D20) } },
1933#else
1934 { 0, 0, NoIntrinsic, { 0, 0 } },
1935#endif
1936#if ENABLE(WEBGL)
1937 { "DEPTH_STENCIL_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x821A) } },
1938#else
1939 { 0, 0, NoIntrinsic, { 0, 0 } },
1940#endif
1941#if ENABLE(WEBGL)
1942 { "NONE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0) } },
1943#else
1944 { 0, 0, NoIntrinsic, { 0, 0 } },
1945#endif
1946#if ENABLE(WEBGL)
1947 { "FRAMEBUFFER_COMPLETE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD5) } },
1948#else
1949 { 0, 0, NoIntrinsic, { 0, 0 } },
1950#endif
1951#if ENABLE(WEBGL)
1952 { "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD6) } },
1953#else
1954 { 0, 0, NoIntrinsic, { 0, 0 } },
1955#endif
1956#if ENABLE(WEBGL)
1957 { "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD7) } },
1958#else
1959 { 0, 0, NoIntrinsic, { 0, 0 } },
1960#endif
1961#if ENABLE(WEBGL)
1962 { "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD9) } },
1963#else
1964 { 0, 0, NoIntrinsic, { 0, 0 } },
1965#endif
1966#if ENABLE(WEBGL)
1967 { "FRAMEBUFFER_UNSUPPORTED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CDD) } },
1968#else
1969 { 0, 0, NoIntrinsic, { 0, 0 } },
1970#endif
1971#if ENABLE(WEBGL)
1972 { "FRAMEBUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA6) } },
1973#else
1974 { 0, 0, NoIntrinsic, { 0, 0 } },
1975#endif
1976#if ENABLE(WEBGL)
1977 { "RENDERBUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA7) } },
1978#else
1979 { 0, 0, NoIntrinsic, { 0, 0 } },
1980#endif
1981#if ENABLE(WEBGL)
1982 { "MAX_RENDERBUFFER_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84E8) } },
1983#else
1984 { 0, 0, NoIntrinsic, { 0, 0 } },
1985#endif
1986#if ENABLE(WEBGL)
1987 { "INVALID_FRAMEBUFFER_OPERATION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0506) } },
1988#else
1989 { 0, 0, NoIntrinsic, { 0, 0 } },
1990#endif
1991#if ENABLE(WEBGL)
1992 { "UNPACK_FLIP_Y_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9240) } },
1993#else
1994 { 0, 0, NoIntrinsic, { 0, 0 } },
1995#endif
1996#if ENABLE(WEBGL)
1997 { "UNPACK_PREMULTIPLY_ALPHA_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9241) } },
1998#else
1999 { 0, 0, NoIntrinsic, { 0, 0 } },
2000#endif
2001#if ENABLE(WEBGL)
2002 { "CONTEXT_LOST_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9242) } },
2003#else
2004 { 0, 0, NoIntrinsic, { 0, 0 } },
2005#endif
2006#if ENABLE(WEBGL)
2007 { "UNPACK_COLORSPACE_CONVERSION_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9243) } },
2008#else
2009 { 0, 0, NoIntrinsic, { 0, 0 } },
2010#endif
2011#if ENABLE(WEBGL)
2012 { "BROWSER_DEFAULT_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9244) } },
2013#else
2014 { 0, 0, NoIntrinsic, { 0, 0 } },
2015#endif
2016};
2017
2018template<> JSValue JSWebGLRenderingContextConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject)
2019{
2020 UNUSED_PARAM(vm);
2021 return globalObject.functionPrototype();
2022}
2023
2024template<> void JSWebGLRenderingContextConstructor::initializeProperties(VM& vm, JSDOMGlobalObject& globalObject)
2025{
2026 putDirect(vm, vm.propertyNames->prototype, JSWebGLRenderingContext::prototype(vm, globalObject), JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
2027 putDirect(vm, vm.propertyNames->name, jsNontrivialString(&vm, String("WebGLRenderingContext"_s)), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
2028 putDirect(vm, vm.propertyNames->length, jsNumber(0), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
2029 reifyStaticProperties(vm, JSWebGLRenderingContext::info(), JSWebGLRenderingContextConstructorTableValues, *this);
2030}
2031
2032template<> const ClassInfo JSWebGLRenderingContextConstructor::s_info = { "WebGLRenderingContext", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebGLRenderingContextConstructor) };
2033
2034/* Hash table for prototype */
2035
2036static const HashTableValue JSWebGLRenderingContextPrototypeTableValues[] =
2037{
2038 { "constructor", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWebGLRenderingContextConstructor) } },
2039#if ENABLE(WEBGL)
2040 { "canvas", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextCanvas), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
2041#else
2042 { 0, 0, NoIntrinsic, { 0, 0 } },
2043#endif
2044#if ENABLE(WEBGL)
2045 { "drawingBufferWidth", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDrawingBufferWidth), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
2046#else
2047 { 0, 0, NoIntrinsic, { 0, 0 } },
2048#endif
2049#if ENABLE(WEBGL)
2050 { "drawingBufferHeight", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGLRenderingContextDrawingBufferHeight), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
2051#else
2052 { 0, 0, NoIntrinsic, { 0, 0 } },
2053#endif
2054 { "texImage2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionTexImage2D), (intptr_t) (6) } },
2055 { "texSubImage2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionTexSubImage2D), (intptr_t) (7) } },
2056 { "compressedTexImage2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionCompressedTexImage2D), (intptr_t) (7) } },
2057#if ENABLE(WEBGL)
2058 { "activeTexture", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionActiveTexture), (intptr_t) (1) } },
2059#else
2060 { 0, 0, NoIntrinsic, { 0, 0 } },
2061#endif
2062#if ENABLE(WEBGL)
2063 { "attachShader", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionAttachShader), (intptr_t) (2) } },
2064#else
2065 { 0, 0, NoIntrinsic, { 0, 0 } },
2066#endif
2067#if ENABLE(WEBGL)
2068 { "bindAttribLocation", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionBindAttribLocation), (intptr_t) (3) } },
2069#else
2070 { 0, 0, NoIntrinsic, { 0, 0 } },
2071#endif
2072#if ENABLE(WEBGL)
2073 { "bindBuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionBindBuffer), (intptr_t) (2) } },
2074#else
2075 { 0, 0, NoIntrinsic, { 0, 0 } },
2076#endif
2077#if ENABLE(WEBGL)
2078 { "bindFramebuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionBindFramebuffer), (intptr_t) (2) } },
2079#else
2080 { 0, 0, NoIntrinsic, { 0, 0 } },
2081#endif
2082#if ENABLE(WEBGL)
2083 { "bindRenderbuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionBindRenderbuffer), (intptr_t) (2) } },
2084#else
2085 { 0, 0, NoIntrinsic, { 0, 0 } },
2086#endif
2087#if ENABLE(WEBGL)
2088 { "bindTexture", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionBindTexture), (intptr_t) (2) } },
2089#else
2090 { 0, 0, NoIntrinsic, { 0, 0 } },
2091#endif
2092#if ENABLE(WEBGL)
2093 { "blendColor", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionBlendColor), (intptr_t) (4) } },
2094#else
2095 { 0, 0, NoIntrinsic, { 0, 0 } },
2096#endif
2097#if ENABLE(WEBGL)
2098 { "blendEquation", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionBlendEquation), (intptr_t) (1) } },
2099#else
2100 { 0, 0, NoIntrinsic, { 0, 0 } },
2101#endif
2102#if ENABLE(WEBGL)
2103 { "blendEquationSeparate", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionBlendEquationSeparate), (intptr_t) (2) } },
2104#else
2105 { 0, 0, NoIntrinsic, { 0, 0 } },
2106#endif
2107#if ENABLE(WEBGL)
2108 { "blendFunc", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionBlendFunc), (intptr_t) (2) } },
2109#else
2110 { 0, 0, NoIntrinsic, { 0, 0 } },
2111#endif
2112#if ENABLE(WEBGL)
2113 { "blendFuncSeparate", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionBlendFuncSeparate), (intptr_t) (4) } },
2114#else
2115 { 0, 0, NoIntrinsic, { 0, 0 } },
2116#endif
2117#if ENABLE(WEBGL)
2118 { "bufferData", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionBufferData), (intptr_t) (3) } },
2119#else
2120 { 0, 0, NoIntrinsic, { 0, 0 } },
2121#endif
2122#if ENABLE(WEBGL)
2123 { "bufferSubData", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionBufferSubData), (intptr_t) (3) } },
2124#else
2125 { 0, 0, NoIntrinsic, { 0, 0 } },
2126#endif
2127#if ENABLE(WEBGL)
2128 { "checkFramebufferStatus", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionCheckFramebufferStatus), (intptr_t) (1) } },
2129#else
2130 { 0, 0, NoIntrinsic, { 0, 0 } },
2131#endif
2132#if ENABLE(WEBGL)
2133 { "clear", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionClear), (intptr_t) (1) } },
2134#else
2135 { 0, 0, NoIntrinsic, { 0, 0 } },
2136#endif
2137#if ENABLE(WEBGL)
2138 { "clearColor", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionClearColor), (intptr_t) (4) } },
2139#else
2140 { 0, 0, NoIntrinsic, { 0, 0 } },
2141#endif
2142#if ENABLE(WEBGL)
2143 { "clearDepth", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionClearDepth), (intptr_t) (1) } },
2144#else
2145 { 0, 0, NoIntrinsic, { 0, 0 } },
2146#endif
2147#if ENABLE(WEBGL)
2148 { "clearStencil", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionClearStencil), (intptr_t) (1) } },
2149#else
2150 { 0, 0, NoIntrinsic, { 0, 0 } },
2151#endif
2152#if ENABLE(WEBGL)
2153 { "colorMask", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionColorMask), (intptr_t) (4) } },
2154#else
2155 { 0, 0, NoIntrinsic, { 0, 0 } },
2156#endif
2157#if ENABLE(WEBGL)
2158 { "compileShader", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionCompileShader), (intptr_t) (1) } },
2159#else
2160 { 0, 0, NoIntrinsic, { 0, 0 } },
2161#endif
2162#if ENABLE(WEBGL)
2163 { "compressedTexSubImage2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionCompressedTexSubImage2D), (intptr_t) (8) } },
2164#else
2165 { 0, 0, NoIntrinsic, { 0, 0 } },
2166#endif
2167#if ENABLE(WEBGL)
2168 { "copyTexImage2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionCopyTexImage2D), (intptr_t) (8) } },
2169#else
2170 { 0, 0, NoIntrinsic, { 0, 0 } },
2171#endif
2172#if ENABLE(WEBGL)
2173 { "copyTexSubImage2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionCopyTexSubImage2D), (intptr_t) (8) } },
2174#else
2175 { 0, 0, NoIntrinsic, { 0, 0 } },
2176#endif
2177#if ENABLE(WEBGL)
2178 { "createBuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionCreateBuffer), (intptr_t) (0) } },
2179#else
2180 { 0, 0, NoIntrinsic, { 0, 0 } },
2181#endif
2182#if ENABLE(WEBGL)
2183 { "createFramebuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionCreateFramebuffer), (intptr_t) (0) } },
2184#else
2185 { 0, 0, NoIntrinsic, { 0, 0 } },
2186#endif
2187#if ENABLE(WEBGL)
2188 { "createProgram", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionCreateProgram), (intptr_t) (0) } },
2189#else
2190 { 0, 0, NoIntrinsic, { 0, 0 } },
2191#endif
2192#if ENABLE(WEBGL)
2193 { "createRenderbuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionCreateRenderbuffer), (intptr_t) (0) } },
2194#else
2195 { 0, 0, NoIntrinsic, { 0, 0 } },
2196#endif
2197#if ENABLE(WEBGL)
2198 { "createShader", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionCreateShader), (intptr_t) (1) } },
2199#else
2200 { 0, 0, NoIntrinsic, { 0, 0 } },
2201#endif
2202#if ENABLE(WEBGL)
2203 { "createTexture", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionCreateTexture), (intptr_t) (0) } },
2204#else
2205 { 0, 0, NoIntrinsic, { 0, 0 } },
2206#endif
2207#if ENABLE(WEBGL)
2208 { "cullFace", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionCullFace), (intptr_t) (1) } },
2209#else
2210 { 0, 0, NoIntrinsic, { 0, 0 } },
2211#endif
2212#if ENABLE(WEBGL)
2213 { "deleteBuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDeleteBuffer), (intptr_t) (1) } },
2214#else
2215 { 0, 0, NoIntrinsic, { 0, 0 } },
2216#endif
2217#if ENABLE(WEBGL)
2218 { "deleteFramebuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDeleteFramebuffer), (intptr_t) (1) } },
2219#else
2220 { 0, 0, NoIntrinsic, { 0, 0 } },
2221#endif
2222#if ENABLE(WEBGL)
2223 { "deleteProgram", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDeleteProgram), (intptr_t) (1) } },
2224#else
2225 { 0, 0, NoIntrinsic, { 0, 0 } },
2226#endif
2227#if ENABLE(WEBGL)
2228 { "deleteRenderbuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDeleteRenderbuffer), (intptr_t) (1) } },
2229#else
2230 { 0, 0, NoIntrinsic, { 0, 0 } },
2231#endif
2232#if ENABLE(WEBGL)
2233 { "deleteShader", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDeleteShader), (intptr_t) (1) } },
2234#else
2235 { 0, 0, NoIntrinsic, { 0, 0 } },
2236#endif
2237#if ENABLE(WEBGL)
2238 { "deleteTexture", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDeleteTexture), (intptr_t) (1) } },
2239#else
2240 { 0, 0, NoIntrinsic, { 0, 0 } },
2241#endif
2242#if ENABLE(WEBGL)
2243 { "depthFunc", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDepthFunc), (intptr_t) (1) } },
2244#else
2245 { 0, 0, NoIntrinsic, { 0, 0 } },
2246#endif
2247#if ENABLE(WEBGL)
2248 { "depthMask", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDepthMask), (intptr_t) (1) } },
2249#else
2250 { 0, 0, NoIntrinsic, { 0, 0 } },
2251#endif
2252#if ENABLE(WEBGL)
2253 { "depthRange", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDepthRange), (intptr_t) (2) } },
2254#else
2255 { 0, 0, NoIntrinsic, { 0, 0 } },
2256#endif
2257#if ENABLE(WEBGL)
2258 { "detachShader", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDetachShader), (intptr_t) (2) } },
2259#else
2260 { 0, 0, NoIntrinsic, { 0, 0 } },
2261#endif
2262#if ENABLE(WEBGL)
2263 { "disable", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDisable), (intptr_t) (1) } },
2264#else
2265 { 0, 0, NoIntrinsic, { 0, 0 } },
2266#endif
2267#if ENABLE(WEBGL)
2268 { "disableVertexAttribArray", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDisableVertexAttribArray), (intptr_t) (1) } },
2269#else
2270 { 0, 0, NoIntrinsic, { 0, 0 } },
2271#endif
2272#if ENABLE(WEBGL)
2273 { "drawArrays", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDrawArrays), (intptr_t) (3) } },
2274#else
2275 { 0, 0, NoIntrinsic, { 0, 0 } },
2276#endif
2277#if ENABLE(WEBGL)
2278 { "drawElements", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionDrawElements), (intptr_t) (4) } },
2279#else
2280 { 0, 0, NoIntrinsic, { 0, 0 } },
2281#endif
2282#if ENABLE(WEBGL)
2283 { "enable", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionEnable), (intptr_t) (1) } },
2284#else
2285 { 0, 0, NoIntrinsic, { 0, 0 } },
2286#endif
2287#if ENABLE(WEBGL)
2288 { "enableVertexAttribArray", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionEnableVertexAttribArray), (intptr_t) (1) } },
2289#else
2290 { 0, 0, NoIntrinsic, { 0, 0 } },
2291#endif
2292#if ENABLE(WEBGL)
2293 { "finish", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionFinish), (intptr_t) (0) } },
2294#else
2295 { 0, 0, NoIntrinsic, { 0, 0 } },
2296#endif
2297#if ENABLE(WEBGL)
2298 { "flush", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionFlush), (intptr_t) (0) } },
2299#else
2300 { 0, 0, NoIntrinsic, { 0, 0 } },
2301#endif
2302#if ENABLE(WEBGL)
2303 { "framebufferRenderbuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionFramebufferRenderbuffer), (intptr_t) (4) } },
2304#else
2305 { 0, 0, NoIntrinsic, { 0, 0 } },
2306#endif
2307#if ENABLE(WEBGL)
2308 { "framebufferTexture2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionFramebufferTexture2D), (intptr_t) (5) } },
2309#else
2310 { 0, 0, NoIntrinsic, { 0, 0 } },
2311#endif
2312#if ENABLE(WEBGL)
2313 { "frontFace", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionFrontFace), (intptr_t) (1) } },
2314#else
2315 { 0, 0, NoIntrinsic, { 0, 0 } },
2316#endif
2317#if ENABLE(WEBGL)
2318 { "generateMipmap", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGenerateMipmap), (intptr_t) (1) } },
2319#else
2320 { 0, 0, NoIntrinsic, { 0, 0 } },
2321#endif
2322#if ENABLE(WEBGL)
2323 { "getActiveAttrib", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetActiveAttrib), (intptr_t) (2) } },
2324#else
2325 { 0, 0, NoIntrinsic, { 0, 0 } },
2326#endif
2327#if ENABLE(WEBGL)
2328 { "getActiveUniform", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetActiveUniform), (intptr_t) (2) } },
2329#else
2330 { 0, 0, NoIntrinsic, { 0, 0 } },
2331#endif
2332#if ENABLE(WEBGL)
2333 { "getAttachedShaders", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetAttachedShaders), (intptr_t) (1) } },
2334#else
2335 { 0, 0, NoIntrinsic, { 0, 0 } },
2336#endif
2337#if ENABLE(WEBGL)
2338 { "getAttribLocation", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetAttribLocation), (intptr_t) (2) } },
2339#else
2340 { 0, 0, NoIntrinsic, { 0, 0 } },
2341#endif
2342#if ENABLE(WEBGL)
2343 { "getBufferParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetBufferParameter), (intptr_t) (2) } },
2344#else
2345 { 0, 0, NoIntrinsic, { 0, 0 } },
2346#endif
2347#if ENABLE(WEBGL)
2348 { "getContextAttributes", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetContextAttributes), (intptr_t) (0) } },
2349#else
2350 { 0, 0, NoIntrinsic, { 0, 0 } },
2351#endif
2352#if ENABLE(WEBGL)
2353 { "getError", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetError), (intptr_t) (0) } },
2354#else
2355 { 0, 0, NoIntrinsic, { 0, 0 } },
2356#endif
2357#if ENABLE(WEBGL)
2358 { "getSupportedExtensions", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetSupportedExtensions), (intptr_t) (0) } },
2359#else
2360 { 0, 0, NoIntrinsic, { 0, 0 } },
2361#endif
2362#if ENABLE(WEBGL)
2363 { "getExtension", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetExtension), (intptr_t) (1) } },
2364#else
2365 { 0, 0, NoIntrinsic, { 0, 0 } },
2366#endif
2367#if ENABLE(WEBGL)
2368 { "getFramebufferAttachmentParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetFramebufferAttachmentParameter), (intptr_t) (3) } },
2369#else
2370 { 0, 0, NoIntrinsic, { 0, 0 } },
2371#endif
2372#if ENABLE(WEBGL)
2373 { "getParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetParameter), (intptr_t) (1) } },
2374#else
2375 { 0, 0, NoIntrinsic, { 0, 0 } },
2376#endif
2377#if ENABLE(WEBGL)
2378 { "getProgramParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetProgramParameter), (intptr_t) (2) } },
2379#else
2380 { 0, 0, NoIntrinsic, { 0, 0 } },
2381#endif
2382#if ENABLE(WEBGL)
2383 { "getProgramInfoLog", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetProgramInfoLog), (intptr_t) (1) } },
2384#else
2385 { 0, 0, NoIntrinsic, { 0, 0 } },
2386#endif
2387#if ENABLE(WEBGL)
2388 { "getRenderbufferParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetRenderbufferParameter), (intptr_t) (2) } },
2389#else
2390 { 0, 0, NoIntrinsic, { 0, 0 } },
2391#endif
2392#if ENABLE(WEBGL)
2393 { "getShaderParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetShaderParameter), (intptr_t) (2) } },
2394#else
2395 { 0, 0, NoIntrinsic, { 0, 0 } },
2396#endif
2397#if ENABLE(WEBGL)
2398 { "getShaderInfoLog", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetShaderInfoLog), (intptr_t) (1) } },
2399#else
2400 { 0, 0, NoIntrinsic, { 0, 0 } },
2401#endif
2402#if ENABLE(WEBGL)
2403 { "getShaderPrecisionFormat", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetShaderPrecisionFormat), (intptr_t) (2) } },
2404#else
2405 { 0, 0, NoIntrinsic, { 0, 0 } },
2406#endif
2407#if ENABLE(WEBGL)
2408 { "getShaderSource", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetShaderSource), (intptr_t) (1) } },
2409#else
2410 { 0, 0, NoIntrinsic, { 0, 0 } },
2411#endif
2412#if ENABLE(WEBGL)
2413 { "getTexParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetTexParameter), (intptr_t) (2) } },
2414#else
2415 { 0, 0, NoIntrinsic, { 0, 0 } },
2416#endif
2417#if ENABLE(WEBGL)
2418 { "getUniform", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetUniform), (intptr_t) (2) } },
2419#else
2420 { 0, 0, NoIntrinsic, { 0, 0 } },
2421#endif
2422#if ENABLE(WEBGL)
2423 { "getUniformLocation", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetUniformLocation), (intptr_t) (2) } },
2424#else
2425 { 0, 0, NoIntrinsic, { 0, 0 } },
2426#endif
2427#if ENABLE(WEBGL)
2428 { "getVertexAttrib", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetVertexAttrib), (intptr_t) (2) } },
2429#else
2430 { 0, 0, NoIntrinsic, { 0, 0 } },
2431#endif
2432#if ENABLE(WEBGL)
2433 { "getVertexAttribOffset", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionGetVertexAttribOffset), (intptr_t) (2) } },
2434#else
2435 { 0, 0, NoIntrinsic, { 0, 0 } },
2436#endif
2437#if ENABLE(WEBGL)
2438 { "hint", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionHint), (intptr_t) (2) } },
2439#else
2440 { 0, 0, NoIntrinsic, { 0, 0 } },
2441#endif
2442#if ENABLE(WEBGL)
2443 { "isBuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsBuffer), (intptr_t) (1) } },
2444#else
2445 { 0, 0, NoIntrinsic, { 0, 0 } },
2446#endif
2447#if ENABLE(WEBGL)
2448 { "isContextLost", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsContextLost), (intptr_t) (0) } },
2449#else
2450 { 0, 0, NoIntrinsic, { 0, 0 } },
2451#endif
2452#if ENABLE(WEBGL)
2453 { "isEnabled", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsEnabled), (intptr_t) (1) } },
2454#else
2455 { 0, 0, NoIntrinsic, { 0, 0 } },
2456#endif
2457#if ENABLE(WEBGL)
2458 { "isFramebuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsFramebuffer), (intptr_t) (1) } },
2459#else
2460 { 0, 0, NoIntrinsic, { 0, 0 } },
2461#endif
2462#if ENABLE(WEBGL)
2463 { "isProgram", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsProgram), (intptr_t) (1) } },
2464#else
2465 { 0, 0, NoIntrinsic, { 0, 0 } },
2466#endif
2467#if ENABLE(WEBGL)
2468 { "isRenderbuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsRenderbuffer), (intptr_t) (1) } },
2469#else
2470 { 0, 0, NoIntrinsic, { 0, 0 } },
2471#endif
2472#if ENABLE(WEBGL)
2473 { "isShader", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsShader), (intptr_t) (1) } },
2474#else
2475 { 0, 0, NoIntrinsic, { 0, 0 } },
2476#endif
2477#if ENABLE(WEBGL)
2478 { "isTexture", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionIsTexture), (intptr_t) (1) } },
2479#else
2480 { 0, 0, NoIntrinsic, { 0, 0 } },
2481#endif
2482#if ENABLE(WEBGL)
2483 { "lineWidth", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionLineWidth), (intptr_t) (1) } },
2484#else
2485 { 0, 0, NoIntrinsic, { 0, 0 } },
2486#endif
2487#if ENABLE(WEBGL)
2488 { "linkProgram", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionLinkProgram), (intptr_t) (1) } },
2489#else
2490 { 0, 0, NoIntrinsic, { 0, 0 } },
2491#endif
2492#if ENABLE(WEBGL)
2493 { "pixelStorei", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionPixelStorei), (intptr_t) (2) } },
2494#else
2495 { 0, 0, NoIntrinsic, { 0, 0 } },
2496#endif
2497#if ENABLE(WEBGL)
2498 { "polygonOffset", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionPolygonOffset), (intptr_t) (2) } },
2499#else
2500 { 0, 0, NoIntrinsic, { 0, 0 } },
2501#endif
2502#if ENABLE(WEBGL)
2503 { "readPixels", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionReadPixels), (intptr_t) (7) } },
2504#else
2505 { 0, 0, NoIntrinsic, { 0, 0 } },
2506#endif
2507#if ENABLE(WEBGL)
2508 { "releaseShaderCompiler", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionReleaseShaderCompiler), (intptr_t) (0) } },
2509#else
2510 { 0, 0, NoIntrinsic, { 0, 0 } },
2511#endif
2512#if ENABLE(WEBGL)
2513 { "renderbufferStorage", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionRenderbufferStorage), (intptr_t) (4) } },
2514#else
2515 { 0, 0, NoIntrinsic, { 0, 0 } },
2516#endif
2517#if ENABLE(WEBGL)
2518 { "sampleCoverage", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionSampleCoverage), (intptr_t) (2) } },
2519#else
2520 { 0, 0, NoIntrinsic, { 0, 0 } },
2521#endif
2522#if ENABLE(WEBGL)
2523 { "scissor", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionScissor), (intptr_t) (4) } },
2524#else
2525 { 0, 0, NoIntrinsic, { 0, 0 } },
2526#endif
2527#if ENABLE(WEBGL)
2528 { "shaderSource", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionShaderSource), (intptr_t) (2) } },
2529#else
2530 { 0, 0, NoIntrinsic, { 0, 0 } },
2531#endif
2532#if ENABLE(WEBGL)
2533 { "stencilFunc", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionStencilFunc), (intptr_t) (3) } },
2534#else
2535 { 0, 0, NoIntrinsic, { 0, 0 } },
2536#endif
2537#if ENABLE(WEBGL)
2538 { "stencilFuncSeparate", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionStencilFuncSeparate), (intptr_t) (4) } },
2539#else
2540 { 0, 0, NoIntrinsic, { 0, 0 } },
2541#endif
2542#if ENABLE(WEBGL)
2543 { "stencilMask", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionStencilMask), (intptr_t) (1) } },
2544#else
2545 { 0, 0, NoIntrinsic, { 0, 0 } },
2546#endif
2547#if ENABLE(WEBGL)
2548 { "stencilMaskSeparate", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionStencilMaskSeparate), (intptr_t) (2) } },
2549#else
2550 { 0, 0, NoIntrinsic, { 0, 0 } },
2551#endif
2552#if ENABLE(WEBGL)
2553 { "stencilOp", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionStencilOp), (intptr_t) (3) } },
2554#else
2555 { 0, 0, NoIntrinsic, { 0, 0 } },
2556#endif
2557#if ENABLE(WEBGL)
2558 { "stencilOpSeparate", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionStencilOpSeparate), (intptr_t) (4) } },
2559#else
2560 { 0, 0, NoIntrinsic, { 0, 0 } },
2561#endif
2562#if ENABLE(WEBGL)
2563 { "texParameterf", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionTexParameterf), (intptr_t) (3) } },
2564#else
2565 { 0, 0, NoIntrinsic, { 0, 0 } },
2566#endif
2567#if ENABLE(WEBGL)
2568 { "texParameteri", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionTexParameteri), (intptr_t) (3) } },
2569#else
2570 { 0, 0, NoIntrinsic, { 0, 0 } },
2571#endif
2572#if ENABLE(WEBGL)
2573 { "uniform1f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform1f), (intptr_t) (2) } },
2574#else
2575 { 0, 0, NoIntrinsic, { 0, 0 } },
2576#endif
2577#if ENABLE(WEBGL)
2578 { "uniform2f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform2f), (intptr_t) (3) } },
2579#else
2580 { 0, 0, NoIntrinsic, { 0, 0 } },
2581#endif
2582#if ENABLE(WEBGL)
2583 { "uniform3f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform3f), (intptr_t) (4) } },
2584#else
2585 { 0, 0, NoIntrinsic, { 0, 0 } },
2586#endif
2587#if ENABLE(WEBGL)
2588 { "uniform4f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform4f), (intptr_t) (5) } },
2589#else
2590 { 0, 0, NoIntrinsic, { 0, 0 } },
2591#endif
2592#if ENABLE(WEBGL)
2593 { "uniform1i", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform1i), (intptr_t) (2) } },
2594#else
2595 { 0, 0, NoIntrinsic, { 0, 0 } },
2596#endif
2597#if ENABLE(WEBGL)
2598 { "uniform2i", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform2i), (intptr_t) (3) } },
2599#else
2600 { 0, 0, NoIntrinsic, { 0, 0 } },
2601#endif
2602#if ENABLE(WEBGL)
2603 { "uniform3i", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform3i), (intptr_t) (4) } },
2604#else
2605 { 0, 0, NoIntrinsic, { 0, 0 } },
2606#endif
2607#if ENABLE(WEBGL)
2608 { "uniform4i", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform4i), (intptr_t) (5) } },
2609#else
2610 { 0, 0, NoIntrinsic, { 0, 0 } },
2611#endif
2612#if ENABLE(WEBGL)
2613 { "uniform1fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform1fv), (intptr_t) (2) } },
2614#else
2615 { 0, 0, NoIntrinsic, { 0, 0 } },
2616#endif
2617#if ENABLE(WEBGL)
2618 { "uniform2fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform2fv), (intptr_t) (2) } },
2619#else
2620 { 0, 0, NoIntrinsic, { 0, 0 } },
2621#endif
2622#if ENABLE(WEBGL)
2623 { "uniform3fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform3fv), (intptr_t) (2) } },
2624#else
2625 { 0, 0, NoIntrinsic, { 0, 0 } },
2626#endif
2627#if ENABLE(WEBGL)
2628 { "uniform4fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform4fv), (intptr_t) (2) } },
2629#else
2630 { 0, 0, NoIntrinsic, { 0, 0 } },
2631#endif
2632#if ENABLE(WEBGL)
2633 { "uniform1iv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform1iv), (intptr_t) (2) } },
2634#else
2635 { 0, 0, NoIntrinsic, { 0, 0 } },
2636#endif
2637#if ENABLE(WEBGL)
2638 { "uniform2iv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform2iv), (intptr_t) (2) } },
2639#else
2640 { 0, 0, NoIntrinsic, { 0, 0 } },
2641#endif
2642#if ENABLE(WEBGL)
2643 { "uniform3iv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform3iv), (intptr_t) (2) } },
2644#else
2645 { 0, 0, NoIntrinsic, { 0, 0 } },
2646#endif
2647#if ENABLE(WEBGL)
2648 { "uniform4iv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniform4iv), (intptr_t) (2) } },
2649#else
2650 { 0, 0, NoIntrinsic, { 0, 0 } },
2651#endif
2652#if ENABLE(WEBGL)
2653 { "uniformMatrix2fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniformMatrix2fv), (intptr_t) (3) } },
2654#else
2655 { 0, 0, NoIntrinsic, { 0, 0 } },
2656#endif
2657#if ENABLE(WEBGL)
2658 { "uniformMatrix3fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniformMatrix3fv), (intptr_t) (3) } },
2659#else
2660 { 0, 0, NoIntrinsic, { 0, 0 } },
2661#endif
2662#if ENABLE(WEBGL)
2663 { "uniformMatrix4fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUniformMatrix4fv), (intptr_t) (3) } },
2664#else
2665 { 0, 0, NoIntrinsic, { 0, 0 } },
2666#endif
2667#if ENABLE(WEBGL)
2668 { "useProgram", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionUseProgram), (intptr_t) (1) } },
2669#else
2670 { 0, 0, NoIntrinsic, { 0, 0 } },
2671#endif
2672#if ENABLE(WEBGL)
2673 { "validateProgram", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionValidateProgram), (intptr_t) (1) } },
2674#else
2675 { 0, 0, NoIntrinsic, { 0, 0 } },
2676#endif
2677#if ENABLE(WEBGL)
2678 { "vertexAttrib1f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib1f), (intptr_t) (2) } },
2679#else
2680 { 0, 0, NoIntrinsic, { 0, 0 } },
2681#endif
2682#if ENABLE(WEBGL)
2683 { "vertexAttrib2f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib2f), (intptr_t) (3) } },
2684#else
2685 { 0, 0, NoIntrinsic, { 0, 0 } },
2686#endif
2687#if ENABLE(WEBGL)
2688 { "vertexAttrib3f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib3f), (intptr_t) (4) } },
2689#else
2690 { 0, 0, NoIntrinsic, { 0, 0 } },
2691#endif
2692#if ENABLE(WEBGL)
2693 { "vertexAttrib4f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib4f), (intptr_t) (5) } },
2694#else
2695 { 0, 0, NoIntrinsic, { 0, 0 } },
2696#endif
2697#if ENABLE(WEBGL)
2698 { "vertexAttrib1fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib1fv), (intptr_t) (2) } },
2699#else
2700 { 0, 0, NoIntrinsic, { 0, 0 } },
2701#endif
2702#if ENABLE(WEBGL)
2703 { "vertexAttrib2fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib2fv), (intptr_t) (2) } },
2704#else
2705 { 0, 0, NoIntrinsic, { 0, 0 } },
2706#endif
2707#if ENABLE(WEBGL)
2708 { "vertexAttrib3fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib3fv), (intptr_t) (2) } },
2709#else
2710 { 0, 0, NoIntrinsic, { 0, 0 } },
2711#endif
2712#if ENABLE(WEBGL)
2713 { "vertexAttrib4fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttrib4fv), (intptr_t) (2) } },
2714#else
2715 { 0, 0, NoIntrinsic, { 0, 0 } },
2716#endif
2717#if ENABLE(WEBGL)
2718 { "vertexAttribPointer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionVertexAttribPointer), (intptr_t) (6) } },
2719#else
2720 { 0, 0, NoIntrinsic, { 0, 0 } },
2721#endif
2722#if ENABLE(WEBGL)
2723 { "viewport", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGLRenderingContextPrototypeFunctionViewport), (intptr_t) (4) } },
2724#else
2725 { 0, 0, NoIntrinsic, { 0, 0 } },
2726#endif
2727#if ENABLE(WEBGL)
2728 { "DEPTH_BUFFER_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00000100) } },
2729#else
2730 { 0, 0, NoIntrinsic, { 0, 0 } },
2731#endif
2732#if ENABLE(WEBGL)
2733 { "STENCIL_BUFFER_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00000400) } },
2734#else
2735 { 0, 0, NoIntrinsic, { 0, 0 } },
2736#endif
2737#if ENABLE(WEBGL)
2738 { "COLOR_BUFFER_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00004000) } },
2739#else
2740 { 0, 0, NoIntrinsic, { 0, 0 } },
2741#endif
2742#if ENABLE(WEBGL)
2743 { "POINTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0000) } },
2744#else
2745 { 0, 0, NoIntrinsic, { 0, 0 } },
2746#endif
2747#if ENABLE(WEBGL)
2748 { "LINES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0001) } },
2749#else
2750 { 0, 0, NoIntrinsic, { 0, 0 } },
2751#endif
2752#if ENABLE(WEBGL)
2753 { "LINE_LOOP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0002) } },
2754#else
2755 { 0, 0, NoIntrinsic, { 0, 0 } },
2756#endif
2757#if ENABLE(WEBGL)
2758 { "LINE_STRIP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0003) } },
2759#else
2760 { 0, 0, NoIntrinsic, { 0, 0 } },
2761#endif
2762#if ENABLE(WEBGL)
2763 { "TRIANGLES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0004) } },
2764#else
2765 { 0, 0, NoIntrinsic, { 0, 0 } },
2766#endif
2767#if ENABLE(WEBGL)
2768 { "TRIANGLE_STRIP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0005) } },
2769#else
2770 { 0, 0, NoIntrinsic, { 0, 0 } },
2771#endif
2772#if ENABLE(WEBGL)
2773 { "TRIANGLE_FAN", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0006) } },
2774#else
2775 { 0, 0, NoIntrinsic, { 0, 0 } },
2776#endif
2777#if ENABLE(WEBGL)
2778 { "ZERO", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0) } },
2779#else
2780 { 0, 0, NoIntrinsic, { 0, 0 } },
2781#endif
2782#if ENABLE(WEBGL)
2783 { "ONE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(1) } },
2784#else
2785 { 0, 0, NoIntrinsic, { 0, 0 } },
2786#endif
2787#if ENABLE(WEBGL)
2788 { "SRC_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0300) } },
2789#else
2790 { 0, 0, NoIntrinsic, { 0, 0 } },
2791#endif
2792#if ENABLE(WEBGL)
2793 { "ONE_MINUS_SRC_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0301) } },
2794#else
2795 { 0, 0, NoIntrinsic, { 0, 0 } },
2796#endif
2797#if ENABLE(WEBGL)
2798 { "SRC_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0302) } },
2799#else
2800 { 0, 0, NoIntrinsic, { 0, 0 } },
2801#endif
2802#if ENABLE(WEBGL)
2803 { "ONE_MINUS_SRC_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0303) } },
2804#else
2805 { 0, 0, NoIntrinsic, { 0, 0 } },
2806#endif
2807#if ENABLE(WEBGL)
2808 { "DST_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0304) } },
2809#else
2810 { 0, 0, NoIntrinsic, { 0, 0 } },
2811#endif
2812#if ENABLE(WEBGL)
2813 { "ONE_MINUS_DST_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0305) } },
2814#else
2815 { 0, 0, NoIntrinsic, { 0, 0 } },
2816#endif
2817#if ENABLE(WEBGL)
2818 { "DST_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0306) } },
2819#else
2820 { 0, 0, NoIntrinsic, { 0, 0 } },
2821#endif
2822#if ENABLE(WEBGL)
2823 { "ONE_MINUS_DST_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0307) } },
2824#else
2825 { 0, 0, NoIntrinsic, { 0, 0 } },
2826#endif
2827#if ENABLE(WEBGL)
2828 { "SRC_ALPHA_SATURATE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0308) } },
2829#else
2830 { 0, 0, NoIntrinsic, { 0, 0 } },
2831#endif
2832#if ENABLE(WEBGL)
2833 { "FUNC_ADD", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8006) } },
2834#else
2835 { 0, 0, NoIntrinsic, { 0, 0 } },
2836#endif
2837#if ENABLE(WEBGL)
2838 { "BLEND_EQUATION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8009) } },
2839#else
2840 { 0, 0, NoIntrinsic, { 0, 0 } },
2841#endif
2842#if ENABLE(WEBGL)
2843 { "BLEND_EQUATION_RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8009) } },
2844#else
2845 { 0, 0, NoIntrinsic, { 0, 0 } },
2846#endif
2847#if ENABLE(WEBGL)
2848 { "BLEND_EQUATION_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x883D) } },
2849#else
2850 { 0, 0, NoIntrinsic, { 0, 0 } },
2851#endif
2852#if ENABLE(WEBGL)
2853 { "FUNC_SUBTRACT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x800A) } },
2854#else
2855 { 0, 0, NoIntrinsic, { 0, 0 } },
2856#endif
2857#if ENABLE(WEBGL)
2858 { "FUNC_REVERSE_SUBTRACT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x800B) } },
2859#else
2860 { 0, 0, NoIntrinsic, { 0, 0 } },
2861#endif
2862#if ENABLE(WEBGL)
2863 { "BLEND_DST_RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80C8) } },
2864#else
2865 { 0, 0, NoIntrinsic, { 0, 0 } },
2866#endif
2867#if ENABLE(WEBGL)
2868 { "BLEND_SRC_RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80C9) } },
2869#else
2870 { 0, 0, NoIntrinsic, { 0, 0 } },
2871#endif
2872#if ENABLE(WEBGL)
2873 { "BLEND_DST_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80CA) } },
2874#else
2875 { 0, 0, NoIntrinsic, { 0, 0 } },
2876#endif
2877#if ENABLE(WEBGL)
2878 { "BLEND_SRC_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80CB) } },
2879#else
2880 { 0, 0, NoIntrinsic, { 0, 0 } },
2881#endif
2882#if ENABLE(WEBGL)
2883 { "CONSTANT_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8001) } },
2884#else
2885 { 0, 0, NoIntrinsic, { 0, 0 } },
2886#endif
2887#if ENABLE(WEBGL)
2888 { "ONE_MINUS_CONSTANT_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8002) } },
2889#else
2890 { 0, 0, NoIntrinsic, { 0, 0 } },
2891#endif
2892#if ENABLE(WEBGL)
2893 { "CONSTANT_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8003) } },
2894#else
2895 { 0, 0, NoIntrinsic, { 0, 0 } },
2896#endif
2897#if ENABLE(WEBGL)
2898 { "ONE_MINUS_CONSTANT_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8004) } },
2899#else
2900 { 0, 0, NoIntrinsic, { 0, 0 } },
2901#endif
2902#if ENABLE(WEBGL)
2903 { "BLEND_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8005) } },
2904#else
2905 { 0, 0, NoIntrinsic, { 0, 0 } },
2906#endif
2907#if ENABLE(WEBGL)
2908 { "ARRAY_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8892) } },
2909#else
2910 { 0, 0, NoIntrinsic, { 0, 0 } },
2911#endif
2912#if ENABLE(WEBGL)
2913 { "ELEMENT_ARRAY_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8893) } },
2914#else
2915 { 0, 0, NoIntrinsic, { 0, 0 } },
2916#endif
2917#if ENABLE(WEBGL)
2918 { "ARRAY_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8894) } },
2919#else
2920 { 0, 0, NoIntrinsic, { 0, 0 } },
2921#endif
2922#if ENABLE(WEBGL)
2923 { "ELEMENT_ARRAY_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8895) } },
2924#else
2925 { 0, 0, NoIntrinsic, { 0, 0 } },
2926#endif
2927#if ENABLE(WEBGL)
2928 { "STREAM_DRAW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E0) } },
2929#else
2930 { 0, 0, NoIntrinsic, { 0, 0 } },
2931#endif
2932#if ENABLE(WEBGL)
2933 { "STATIC_DRAW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E4) } },
2934#else
2935 { 0, 0, NoIntrinsic, { 0, 0 } },
2936#endif
2937#if ENABLE(WEBGL)
2938 { "DYNAMIC_DRAW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E8) } },
2939#else
2940 { 0, 0, NoIntrinsic, { 0, 0 } },
2941#endif
2942#if ENABLE(WEBGL)
2943 { "BUFFER_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8764) } },
2944#else
2945 { 0, 0, NoIntrinsic, { 0, 0 } },
2946#endif
2947#if ENABLE(WEBGL)
2948 { "BUFFER_USAGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8765) } },
2949#else
2950 { 0, 0, NoIntrinsic, { 0, 0 } },
2951#endif
2952#if ENABLE(WEBGL)
2953 { "CURRENT_VERTEX_ATTRIB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8626) } },
2954#else
2955 { 0, 0, NoIntrinsic, { 0, 0 } },
2956#endif
2957#if ENABLE(WEBGL)
2958 { "FRONT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0404) } },
2959#else
2960 { 0, 0, NoIntrinsic, { 0, 0 } },
2961#endif
2962#if ENABLE(WEBGL)
2963 { "BACK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0405) } },
2964#else
2965 { 0, 0, NoIntrinsic, { 0, 0 } },
2966#endif
2967#if ENABLE(WEBGL)
2968 { "FRONT_AND_BACK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0408) } },
2969#else
2970 { 0, 0, NoIntrinsic, { 0, 0 } },
2971#endif
2972#if ENABLE(WEBGL)
2973 { "TEXTURE_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0DE1) } },
2974#else
2975 { 0, 0, NoIntrinsic, { 0, 0 } },
2976#endif
2977#if ENABLE(WEBGL)
2978 { "CULL_FACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B44) } },
2979#else
2980 { 0, 0, NoIntrinsic, { 0, 0 } },
2981#endif
2982#if ENABLE(WEBGL)
2983 { "BLEND", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0BE2) } },
2984#else
2985 { 0, 0, NoIntrinsic, { 0, 0 } },
2986#endif
2987#if ENABLE(WEBGL)
2988 { "DITHER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0BD0) } },
2989#else
2990 { 0, 0, NoIntrinsic, { 0, 0 } },
2991#endif
2992#if ENABLE(WEBGL)
2993 { "STENCIL_TEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B90) } },
2994#else
2995 { 0, 0, NoIntrinsic, { 0, 0 } },
2996#endif
2997#if ENABLE(WEBGL)
2998 { "DEPTH_TEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B71) } },
2999#else
3000 { 0, 0, NoIntrinsic, { 0, 0 } },
3001#endif
3002#if ENABLE(WEBGL)
3003 { "SCISSOR_TEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C11) } },
3004#else
3005 { 0, 0, NoIntrinsic, { 0, 0 } },
3006#endif
3007#if ENABLE(WEBGL)
3008 { "POLYGON_OFFSET_FILL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8037) } },
3009#else
3010 { 0, 0, NoIntrinsic, { 0, 0 } },
3011#endif
3012#if ENABLE(WEBGL)
3013 { "SAMPLE_ALPHA_TO_COVERAGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x809E) } },
3014#else
3015 { 0, 0, NoIntrinsic, { 0, 0 } },
3016#endif
3017#if ENABLE(WEBGL)
3018 { "SAMPLE_COVERAGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80A0) } },
3019#else
3020 { 0, 0, NoIntrinsic, { 0, 0 } },
3021#endif
3022#if ENABLE(WEBGL)
3023 { "NO_ERROR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0) } },
3024#else
3025 { 0, 0, NoIntrinsic, { 0, 0 } },
3026#endif
3027#if ENABLE(WEBGL)
3028 { "INVALID_ENUM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0500) } },
3029#else
3030 { 0, 0, NoIntrinsic, { 0, 0 } },
3031#endif
3032#if ENABLE(WEBGL)
3033 { "INVALID_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0501) } },
3034#else
3035 { 0, 0, NoIntrinsic, { 0, 0 } },
3036#endif
3037#if ENABLE(WEBGL)
3038 { "INVALID_OPERATION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0502) } },
3039#else
3040 { 0, 0, NoIntrinsic, { 0, 0 } },
3041#endif
3042#if ENABLE(WEBGL)
3043 { "OUT_OF_MEMORY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0505) } },
3044#else
3045 { 0, 0, NoIntrinsic, { 0, 0 } },
3046#endif
3047#if ENABLE(WEBGL)
3048 { "CW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0900) } },
3049#else
3050 { 0, 0, NoIntrinsic, { 0, 0 } },
3051#endif
3052#if ENABLE(WEBGL)
3053 { "CCW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0901) } },
3054#else
3055 { 0, 0, NoIntrinsic, { 0, 0 } },
3056#endif
3057#if ENABLE(WEBGL)
3058 { "LINE_WIDTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B21) } },
3059#else
3060 { 0, 0, NoIntrinsic, { 0, 0 } },
3061#endif
3062#if ENABLE(WEBGL)
3063 { "ALIASED_POINT_SIZE_RANGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x846D) } },
3064#else
3065 { 0, 0, NoIntrinsic, { 0, 0 } },
3066#endif
3067#if ENABLE(WEBGL)
3068 { "ALIASED_LINE_WIDTH_RANGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x846E) } },
3069#else
3070 { 0, 0, NoIntrinsic, { 0, 0 } },
3071#endif
3072#if ENABLE(WEBGL)
3073 { "CULL_FACE_MODE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B45) } },
3074#else
3075 { 0, 0, NoIntrinsic, { 0, 0 } },
3076#endif
3077#if ENABLE(WEBGL)
3078 { "FRONT_FACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B46) } },
3079#else
3080 { 0, 0, NoIntrinsic, { 0, 0 } },
3081#endif
3082#if ENABLE(WEBGL)
3083 { "DEPTH_RANGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B70) } },
3084#else
3085 { 0, 0, NoIntrinsic, { 0, 0 } },
3086#endif
3087#if ENABLE(WEBGL)
3088 { "DEPTH_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B72) } },
3089#else
3090 { 0, 0, NoIntrinsic, { 0, 0 } },
3091#endif
3092#if ENABLE(WEBGL)
3093 { "DEPTH_CLEAR_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B73) } },
3094#else
3095 { 0, 0, NoIntrinsic, { 0, 0 } },
3096#endif
3097#if ENABLE(WEBGL)
3098 { "DEPTH_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B74) } },
3099#else
3100 { 0, 0, NoIntrinsic, { 0, 0 } },
3101#endif
3102#if ENABLE(WEBGL)
3103 { "STENCIL_CLEAR_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B91) } },
3104#else
3105 { 0, 0, NoIntrinsic, { 0, 0 } },
3106#endif
3107#if ENABLE(WEBGL)
3108 { "STENCIL_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B92) } },
3109#else
3110 { 0, 0, NoIntrinsic, { 0, 0 } },
3111#endif
3112#if ENABLE(WEBGL)
3113 { "STENCIL_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B94) } },
3114#else
3115 { 0, 0, NoIntrinsic, { 0, 0 } },
3116#endif
3117#if ENABLE(WEBGL)
3118 { "STENCIL_PASS_DEPTH_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B95) } },
3119#else
3120 { 0, 0, NoIntrinsic, { 0, 0 } },
3121#endif
3122#if ENABLE(WEBGL)
3123 { "STENCIL_PASS_DEPTH_PASS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B96) } },
3124#else
3125 { 0, 0, NoIntrinsic, { 0, 0 } },
3126#endif
3127#if ENABLE(WEBGL)
3128 { "STENCIL_REF", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B97) } },
3129#else
3130 { 0, 0, NoIntrinsic, { 0, 0 } },
3131#endif
3132#if ENABLE(WEBGL)
3133 { "STENCIL_VALUE_MASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B93) } },
3134#else
3135 { 0, 0, NoIntrinsic, { 0, 0 } },
3136#endif
3137#if ENABLE(WEBGL)
3138 { "STENCIL_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B98) } },
3139#else
3140 { 0, 0, NoIntrinsic, { 0, 0 } },
3141#endif
3142#if ENABLE(WEBGL)
3143 { "STENCIL_BACK_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8800) } },
3144#else
3145 { 0, 0, NoIntrinsic, { 0, 0 } },
3146#endif
3147#if ENABLE(WEBGL)
3148 { "STENCIL_BACK_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8801) } },
3149#else
3150 { 0, 0, NoIntrinsic, { 0, 0 } },
3151#endif
3152#if ENABLE(WEBGL)
3153 { "STENCIL_BACK_PASS_DEPTH_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8802) } },
3154#else
3155 { 0, 0, NoIntrinsic, { 0, 0 } },
3156#endif
3157#if ENABLE(WEBGL)
3158 { "STENCIL_BACK_PASS_DEPTH_PASS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8803) } },
3159#else
3160 { 0, 0, NoIntrinsic, { 0, 0 } },
3161#endif
3162#if ENABLE(WEBGL)
3163 { "STENCIL_BACK_REF", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA3) } },
3164#else
3165 { 0, 0, NoIntrinsic, { 0, 0 } },
3166#endif
3167#if ENABLE(WEBGL)
3168 { "STENCIL_BACK_VALUE_MASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA4) } },
3169#else
3170 { 0, 0, NoIntrinsic, { 0, 0 } },
3171#endif
3172#if ENABLE(WEBGL)
3173 { "STENCIL_BACK_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA5) } },
3174#else
3175 { 0, 0, NoIntrinsic, { 0, 0 } },
3176#endif
3177#if ENABLE(WEBGL)
3178 { "VIEWPORT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0BA2) } },
3179#else
3180 { 0, 0, NoIntrinsic, { 0, 0 } },
3181#endif
3182#if ENABLE(WEBGL)
3183 { "SCISSOR_BOX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C10) } },
3184#else
3185 { 0, 0, NoIntrinsic, { 0, 0 } },
3186#endif
3187#if ENABLE(WEBGL)
3188 { "COLOR_CLEAR_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C22) } },
3189#else
3190 { 0, 0, NoIntrinsic, { 0, 0 } },
3191#endif
3192#if ENABLE(WEBGL)
3193 { "COLOR_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C23) } },
3194#else
3195 { 0, 0, NoIntrinsic, { 0, 0 } },
3196#endif
3197#if ENABLE(WEBGL)
3198 { "UNPACK_ALIGNMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0CF5) } },
3199#else
3200 { 0, 0, NoIntrinsic, { 0, 0 } },
3201#endif
3202#if ENABLE(WEBGL)
3203 { "PACK_ALIGNMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D05) } },
3204#else
3205 { 0, 0, NoIntrinsic, { 0, 0 } },
3206#endif
3207#if ENABLE(WEBGL)
3208 { "MAX_TEXTURE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D33) } },
3209#else
3210 { 0, 0, NoIntrinsic, { 0, 0 } },
3211#endif
3212#if ENABLE(WEBGL)
3213 { "MAX_VIEWPORT_DIMS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D3A) } },
3214#else
3215 { 0, 0, NoIntrinsic, { 0, 0 } },
3216#endif
3217#if ENABLE(WEBGL)
3218 { "SUBPIXEL_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D50) } },
3219#else
3220 { 0, 0, NoIntrinsic, { 0, 0 } },
3221#endif
3222#if ENABLE(WEBGL)
3223 { "RED_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D52) } },
3224#else
3225 { 0, 0, NoIntrinsic, { 0, 0 } },
3226#endif
3227#if ENABLE(WEBGL)
3228 { "GREEN_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D53) } },
3229#else
3230 { 0, 0, NoIntrinsic, { 0, 0 } },
3231#endif
3232#if ENABLE(WEBGL)
3233 { "BLUE_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D54) } },
3234#else
3235 { 0, 0, NoIntrinsic, { 0, 0 } },
3236#endif
3237#if ENABLE(WEBGL)
3238 { "ALPHA_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D55) } },
3239#else
3240 { 0, 0, NoIntrinsic, { 0, 0 } },
3241#endif
3242#if ENABLE(WEBGL)
3243 { "DEPTH_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D56) } },
3244#else
3245 { 0, 0, NoIntrinsic, { 0, 0 } },
3246#endif
3247#if ENABLE(WEBGL)
3248 { "STENCIL_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D57) } },
3249#else
3250 { 0, 0, NoIntrinsic, { 0, 0 } },
3251#endif
3252#if ENABLE(WEBGL)
3253 { "POLYGON_OFFSET_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2A00) } },
3254#else
3255 { 0, 0, NoIntrinsic, { 0, 0 } },
3256#endif
3257#if ENABLE(WEBGL)
3258 { "POLYGON_OFFSET_FACTOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8038) } },
3259#else
3260 { 0, 0, NoIntrinsic, { 0, 0 } },
3261#endif
3262#if ENABLE(WEBGL)
3263 { "TEXTURE_BINDING_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8069) } },
3264#else
3265 { 0, 0, NoIntrinsic, { 0, 0 } },
3266#endif
3267#if ENABLE(WEBGL)
3268 { "SAMPLE_BUFFERS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80A8) } },
3269#else
3270 { 0, 0, NoIntrinsic, { 0, 0 } },
3271#endif
3272#if ENABLE(WEBGL)
3273 { "SAMPLES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80A9) } },
3274#else
3275 { 0, 0, NoIntrinsic, { 0, 0 } },
3276#endif
3277#if ENABLE(WEBGL)
3278 { "SAMPLE_COVERAGE_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80AA) } },
3279#else
3280 { 0, 0, NoIntrinsic, { 0, 0 } },
3281#endif
3282#if ENABLE(WEBGL)
3283 { "SAMPLE_COVERAGE_INVERT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80AB) } },
3284#else
3285 { 0, 0, NoIntrinsic, { 0, 0 } },
3286#endif
3287#if ENABLE(WEBGL)
3288 { "COMPRESSED_TEXTURE_FORMATS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x86A3) } },
3289#else
3290 { 0, 0, NoIntrinsic, { 0, 0 } },
3291#endif
3292#if ENABLE(WEBGL)
3293 { "DONT_CARE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1100) } },
3294#else
3295 { 0, 0, NoIntrinsic, { 0, 0 } },
3296#endif
3297#if ENABLE(WEBGL)
3298 { "FASTEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1101) } },
3299#else
3300 { 0, 0, NoIntrinsic, { 0, 0 } },
3301#endif
3302#if ENABLE(WEBGL)
3303 { "NICEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1102) } },
3304#else
3305 { 0, 0, NoIntrinsic, { 0, 0 } },
3306#endif
3307#if ENABLE(WEBGL)
3308 { "GENERATE_MIPMAP_HINT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8192) } },
3309#else
3310 { 0, 0, NoIntrinsic, { 0, 0 } },
3311#endif
3312#if ENABLE(WEBGL)
3313 { "BYTE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1400) } },
3314#else
3315 { 0, 0, NoIntrinsic, { 0, 0 } },
3316#endif
3317#if ENABLE(WEBGL)
3318 { "UNSIGNED_BYTE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1401) } },
3319#else
3320 { 0, 0, NoIntrinsic, { 0, 0 } },
3321#endif
3322#if ENABLE(WEBGL)
3323 { "SHORT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1402) } },
3324#else
3325 { 0, 0, NoIntrinsic, { 0, 0 } },
3326#endif
3327#if ENABLE(WEBGL)
3328 { "UNSIGNED_SHORT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1403) } },
3329#else
3330 { 0, 0, NoIntrinsic, { 0, 0 } },
3331#endif
3332#if ENABLE(WEBGL)
3333 { "INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1404) } },
3334#else
3335 { 0, 0, NoIntrinsic, { 0, 0 } },
3336#endif
3337#if ENABLE(WEBGL)
3338 { "UNSIGNED_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1405) } },
3339#else
3340 { 0, 0, NoIntrinsic, { 0, 0 } },
3341#endif
3342#if ENABLE(WEBGL)
3343 { "FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1406) } },
3344#else
3345 { 0, 0, NoIntrinsic, { 0, 0 } },
3346#endif
3347#if ENABLE(WEBGL)
3348 { "DEPTH_COMPONENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1902) } },
3349#else
3350 { 0, 0, NoIntrinsic, { 0, 0 } },
3351#endif
3352#if ENABLE(WEBGL)
3353 { "ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1906) } },
3354#else
3355 { 0, 0, NoIntrinsic, { 0, 0 } },
3356#endif
3357#if ENABLE(WEBGL)
3358 { "RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1907) } },
3359#else
3360 { 0, 0, NoIntrinsic, { 0, 0 } },
3361#endif
3362#if ENABLE(WEBGL)
3363 { "RGBA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1908) } },
3364#else
3365 { 0, 0, NoIntrinsic, { 0, 0 } },
3366#endif
3367#if ENABLE(WEBGL)
3368 { "LUMINANCE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1909) } },
3369#else
3370 { 0, 0, NoIntrinsic, { 0, 0 } },
3371#endif
3372#if ENABLE(WEBGL)
3373 { "LUMINANCE_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x190A) } },
3374#else
3375 { 0, 0, NoIntrinsic, { 0, 0 } },
3376#endif
3377#if ENABLE(WEBGL)
3378 { "UNSIGNED_SHORT_4_4_4_4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8033) } },
3379#else
3380 { 0, 0, NoIntrinsic, { 0, 0 } },
3381#endif
3382#if ENABLE(WEBGL)
3383 { "UNSIGNED_SHORT_5_5_5_1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8034) } },
3384#else
3385 { 0, 0, NoIntrinsic, { 0, 0 } },
3386#endif
3387#if ENABLE(WEBGL)
3388 { "UNSIGNED_SHORT_5_6_5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8363) } },
3389#else
3390 { 0, 0, NoIntrinsic, { 0, 0 } },
3391#endif
3392#if ENABLE(WEBGL)
3393 { "FRAGMENT_SHADER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B30) } },
3394#else
3395 { 0, 0, NoIntrinsic, { 0, 0 } },
3396#endif
3397#if ENABLE(WEBGL)
3398 { "VERTEX_SHADER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B31) } },
3399#else
3400 { 0, 0, NoIntrinsic, { 0, 0 } },
3401#endif
3402#if ENABLE(WEBGL)
3403 { "MAX_VERTEX_ATTRIBS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8869) } },
3404#else
3405 { 0, 0, NoIntrinsic, { 0, 0 } },
3406#endif
3407#if ENABLE(WEBGL)
3408 { "MAX_VERTEX_UNIFORM_VECTORS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DFB) } },
3409#else
3410 { 0, 0, NoIntrinsic, { 0, 0 } },
3411#endif
3412#if ENABLE(WEBGL)
3413 { "MAX_VARYING_VECTORS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DFC) } },
3414#else
3415 { 0, 0, NoIntrinsic, { 0, 0 } },
3416#endif
3417#if ENABLE(WEBGL)
3418 { "MAX_COMBINED_TEXTURE_IMAGE_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4D) } },
3419#else
3420 { 0, 0, NoIntrinsic, { 0, 0 } },
3421#endif
3422#if ENABLE(WEBGL)
3423 { "MAX_VERTEX_TEXTURE_IMAGE_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4C) } },
3424#else
3425 { 0, 0, NoIntrinsic, { 0, 0 } },
3426#endif
3427#if ENABLE(WEBGL)
3428 { "MAX_TEXTURE_IMAGE_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8872) } },
3429#else
3430 { 0, 0, NoIntrinsic, { 0, 0 } },
3431#endif
3432#if ENABLE(WEBGL)
3433 { "MAX_FRAGMENT_UNIFORM_VECTORS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DFD) } },
3434#else
3435 { 0, 0, NoIntrinsic, { 0, 0 } },
3436#endif
3437#if ENABLE(WEBGL)
3438 { "SHADER_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4F) } },
3439#else
3440 { 0, 0, NoIntrinsic, { 0, 0 } },
3441#endif
3442#if ENABLE(WEBGL)
3443 { "DELETE_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B80) } },
3444#else
3445 { 0, 0, NoIntrinsic, { 0, 0 } },
3446#endif
3447#if ENABLE(WEBGL)
3448 { "LINK_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B82) } },
3449#else
3450 { 0, 0, NoIntrinsic, { 0, 0 } },
3451#endif
3452#if ENABLE(WEBGL)
3453 { "VALIDATE_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B83) } },
3454#else
3455 { 0, 0, NoIntrinsic, { 0, 0 } },
3456#endif
3457#if ENABLE(WEBGL)
3458 { "ATTACHED_SHADERS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B85) } },
3459#else
3460 { 0, 0, NoIntrinsic, { 0, 0 } },
3461#endif
3462#if ENABLE(WEBGL)
3463 { "ACTIVE_UNIFORMS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B86) } },
3464#else
3465 { 0, 0, NoIntrinsic, { 0, 0 } },
3466#endif
3467#if ENABLE(WEBGL)
3468 { "ACTIVE_ATTRIBUTES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B89) } },
3469#else
3470 { 0, 0, NoIntrinsic, { 0, 0 } },
3471#endif
3472#if ENABLE(WEBGL)
3473 { "SHADING_LANGUAGE_VERSION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B8C) } },
3474#else
3475 { 0, 0, NoIntrinsic, { 0, 0 } },
3476#endif
3477#if ENABLE(WEBGL)
3478 { "CURRENT_PROGRAM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B8D) } },
3479#else
3480 { 0, 0, NoIntrinsic, { 0, 0 } },
3481#endif
3482#if ENABLE(WEBGL)
3483 { "NEVER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0200) } },
3484#else
3485 { 0, 0, NoIntrinsic, { 0, 0 } },
3486#endif
3487#if ENABLE(WEBGL)
3488 { "LESS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0201) } },
3489#else
3490 { 0, 0, NoIntrinsic, { 0, 0 } },
3491#endif
3492#if ENABLE(WEBGL)
3493 { "EQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0202) } },
3494#else
3495 { 0, 0, NoIntrinsic, { 0, 0 } },
3496#endif
3497#if ENABLE(WEBGL)
3498 { "LEQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0203) } },
3499#else
3500 { 0, 0, NoIntrinsic, { 0, 0 } },
3501#endif
3502#if ENABLE(WEBGL)
3503 { "GREATER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0204) } },
3504#else
3505 { 0, 0, NoIntrinsic, { 0, 0 } },
3506#endif
3507#if ENABLE(WEBGL)
3508 { "NOTEQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0205) } },
3509#else
3510 { 0, 0, NoIntrinsic, { 0, 0 } },
3511#endif
3512#if ENABLE(WEBGL)
3513 { "GEQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0206) } },
3514#else
3515 { 0, 0, NoIntrinsic, { 0, 0 } },
3516#endif
3517#if ENABLE(WEBGL)
3518 { "ALWAYS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0207) } },
3519#else
3520 { 0, 0, NoIntrinsic, { 0, 0 } },
3521#endif
3522#if ENABLE(WEBGL)
3523 { "KEEP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E00) } },
3524#else
3525 { 0, 0, NoIntrinsic, { 0, 0 } },
3526#endif
3527#if ENABLE(WEBGL)
3528 { "REPLACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E01) } },
3529#else
3530 { 0, 0, NoIntrinsic, { 0, 0 } },
3531#endif
3532#if ENABLE(WEBGL)
3533 { "INCR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E02) } },
3534#else
3535 { 0, 0, NoIntrinsic, { 0, 0 } },
3536#endif
3537#if ENABLE(WEBGL)
3538 { "DECR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E03) } },
3539#else
3540 { 0, 0, NoIntrinsic, { 0, 0 } },
3541#endif
3542#if ENABLE(WEBGL)
3543 { "INVERT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x150A) } },
3544#else
3545 { 0, 0, NoIntrinsic, { 0, 0 } },
3546#endif
3547#if ENABLE(WEBGL)
3548 { "INCR_WRAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8507) } },
3549#else
3550 { 0, 0, NoIntrinsic, { 0, 0 } },
3551#endif
3552#if ENABLE(WEBGL)
3553 { "DECR_WRAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8508) } },
3554#else
3555 { 0, 0, NoIntrinsic, { 0, 0 } },
3556#endif
3557#if ENABLE(WEBGL)
3558 { "VENDOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1F00) } },
3559#else
3560 { 0, 0, NoIntrinsic, { 0, 0 } },
3561#endif
3562#if ENABLE(WEBGL)
3563 { "RENDERER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1F01) } },
3564#else
3565 { 0, 0, NoIntrinsic, { 0, 0 } },
3566#endif
3567#if ENABLE(WEBGL)
3568 { "VERSION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1F02) } },
3569#else
3570 { 0, 0, NoIntrinsic, { 0, 0 } },
3571#endif
3572#if ENABLE(WEBGL)
3573 { "NEAREST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2600) } },
3574#else
3575 { 0, 0, NoIntrinsic, { 0, 0 } },
3576#endif
3577#if ENABLE(WEBGL)
3578 { "LINEAR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2601) } },
3579#else
3580 { 0, 0, NoIntrinsic, { 0, 0 } },
3581#endif
3582#if ENABLE(WEBGL)
3583 { "NEAREST_MIPMAP_NEAREST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2700) } },
3584#else
3585 { 0, 0, NoIntrinsic, { 0, 0 } },
3586#endif
3587#if ENABLE(WEBGL)
3588 { "LINEAR_MIPMAP_NEAREST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2701) } },
3589#else
3590 { 0, 0, NoIntrinsic, { 0, 0 } },
3591#endif
3592#if ENABLE(WEBGL)
3593 { "NEAREST_MIPMAP_LINEAR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2702) } },
3594#else
3595 { 0, 0, NoIntrinsic, { 0, 0 } },
3596#endif
3597#if ENABLE(WEBGL)
3598 { "LINEAR_MIPMAP_LINEAR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2703) } },
3599#else
3600 { 0, 0, NoIntrinsic, { 0, 0 } },
3601#endif
3602#if ENABLE(WEBGL)
3603 { "TEXTURE_MAG_FILTER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2800) } },
3604#else
3605 { 0, 0, NoIntrinsic, { 0, 0 } },
3606#endif
3607#if ENABLE(WEBGL)
3608 { "TEXTURE_MIN_FILTER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2801) } },
3609#else
3610 { 0, 0, NoIntrinsic, { 0, 0 } },
3611#endif
3612#if ENABLE(WEBGL)
3613 { "TEXTURE_WRAP_S", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2802) } },
3614#else
3615 { 0, 0, NoIntrinsic, { 0, 0 } },
3616#endif
3617#if ENABLE(WEBGL)
3618 { "TEXTURE_WRAP_T", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2803) } },
3619#else
3620 { 0, 0, NoIntrinsic, { 0, 0 } },
3621#endif
3622#if ENABLE(WEBGL)
3623 { "TEXTURE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1702) } },
3624#else
3625 { 0, 0, NoIntrinsic, { 0, 0 } },
3626#endif
3627#if ENABLE(WEBGL)
3628 { "TEXTURE_CUBE_MAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8513) } },
3629#else
3630 { 0, 0, NoIntrinsic, { 0, 0 } },
3631#endif
3632#if ENABLE(WEBGL)
3633 { "TEXTURE_BINDING_CUBE_MAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8514) } },
3634#else
3635 { 0, 0, NoIntrinsic, { 0, 0 } },
3636#endif
3637#if ENABLE(WEBGL)
3638 { "TEXTURE_CUBE_MAP_POSITIVE_X", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8515) } },
3639#else
3640 { 0, 0, NoIntrinsic, { 0, 0 } },
3641#endif
3642#if ENABLE(WEBGL)
3643 { "TEXTURE_CUBE_MAP_NEGATIVE_X", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8516) } },
3644#else
3645 { 0, 0, NoIntrinsic, { 0, 0 } },
3646#endif
3647#if ENABLE(WEBGL)
3648 { "TEXTURE_CUBE_MAP_POSITIVE_Y", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8517) } },
3649#else
3650 { 0, 0, NoIntrinsic, { 0, 0 } },
3651#endif
3652#if ENABLE(WEBGL)
3653 { "TEXTURE_CUBE_MAP_NEGATIVE_Y", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8518) } },
3654#else
3655 { 0, 0, NoIntrinsic, { 0, 0 } },
3656#endif
3657#if ENABLE(WEBGL)
3658 { "TEXTURE_CUBE_MAP_POSITIVE_Z", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8519) } },
3659#else
3660 { 0, 0, NoIntrinsic, { 0, 0 } },
3661#endif
3662#if ENABLE(WEBGL)
3663 { "TEXTURE_CUBE_MAP_NEGATIVE_Z", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x851A) } },
3664#else
3665 { 0, 0, NoIntrinsic, { 0, 0 } },
3666#endif
3667#if ENABLE(WEBGL)
3668 { "MAX_CUBE_MAP_TEXTURE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x851C) } },
3669#else
3670 { 0, 0, NoIntrinsic, { 0, 0 } },
3671#endif
3672#if ENABLE(WEBGL)
3673 { "TEXTURE0", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C0) } },
3674#else
3675 { 0, 0, NoIntrinsic, { 0, 0 } },
3676#endif
3677#if ENABLE(WEBGL)
3678 { "TEXTURE1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C1) } },
3679#else
3680 { 0, 0, NoIntrinsic, { 0, 0 } },
3681#endif
3682#if ENABLE(WEBGL)
3683 { "TEXTURE2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C2) } },
3684#else
3685 { 0, 0, NoIntrinsic, { 0, 0 } },
3686#endif
3687#if ENABLE(WEBGL)
3688 { "TEXTURE3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C3) } },
3689#else
3690 { 0, 0, NoIntrinsic, { 0, 0 } },
3691#endif
3692#if ENABLE(WEBGL)
3693 { "TEXTURE4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C4) } },
3694#else
3695 { 0, 0, NoIntrinsic, { 0, 0 } },
3696#endif
3697#if ENABLE(WEBGL)
3698 { "TEXTURE5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C5) } },
3699#else
3700 { 0, 0, NoIntrinsic, { 0, 0 } },
3701#endif
3702#if ENABLE(WEBGL)
3703 { "TEXTURE6", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C6) } },
3704#else
3705 { 0, 0, NoIntrinsic, { 0, 0 } },
3706#endif
3707#if ENABLE(WEBGL)
3708 { "TEXTURE7", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C7) } },
3709#else
3710 { 0, 0, NoIntrinsic, { 0, 0 } },
3711#endif
3712#if ENABLE(WEBGL)
3713 { "TEXTURE8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C8) } },
3714#else
3715 { 0, 0, NoIntrinsic, { 0, 0 } },
3716#endif
3717#if ENABLE(WEBGL)
3718 { "TEXTURE9", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C9) } },
3719#else
3720 { 0, 0, NoIntrinsic, { 0, 0 } },
3721#endif
3722#if ENABLE(WEBGL)
3723 { "TEXTURE10", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CA) } },
3724#else
3725 { 0, 0, NoIntrinsic, { 0, 0 } },
3726#endif
3727#if ENABLE(WEBGL)
3728 { "TEXTURE11", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CB) } },
3729#else
3730 { 0, 0, NoIntrinsic, { 0, 0 } },
3731#endif
3732#if ENABLE(WEBGL)
3733 { "TEXTURE12", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CC) } },
3734#else
3735 { 0, 0, NoIntrinsic, { 0, 0 } },
3736#endif
3737#if ENABLE(WEBGL)
3738 { "TEXTURE13", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CD) } },
3739#else
3740 { 0, 0, NoIntrinsic, { 0, 0 } },
3741#endif
3742#if ENABLE(WEBGL)
3743 { "TEXTURE14", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CE) } },
3744#else
3745 { 0, 0, NoIntrinsic, { 0, 0 } },
3746#endif
3747#if ENABLE(WEBGL)
3748 { "TEXTURE15", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CF) } },
3749#else
3750 { 0, 0, NoIntrinsic, { 0, 0 } },
3751#endif
3752#if ENABLE(WEBGL)
3753 { "TEXTURE16", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D0) } },
3754#else
3755 { 0, 0, NoIntrinsic, { 0, 0 } },
3756#endif
3757#if ENABLE(WEBGL)
3758 { "TEXTURE17", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D1) } },
3759#else
3760 { 0, 0, NoIntrinsic, { 0, 0 } },
3761#endif
3762#if ENABLE(WEBGL)
3763 { "TEXTURE18", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D2) } },
3764#else
3765 { 0, 0, NoIntrinsic, { 0, 0 } },
3766#endif
3767#if ENABLE(WEBGL)
3768 { "TEXTURE19", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D3) } },
3769#else
3770 { 0, 0, NoIntrinsic, { 0, 0 } },
3771#endif
3772#if ENABLE(WEBGL)
3773 { "TEXTURE20", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D4) } },
3774#else
3775 { 0, 0, NoIntrinsic, { 0, 0 } },
3776#endif
3777#if ENABLE(WEBGL)
3778 { "TEXTURE21", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D5) } },
3779#else
3780 { 0, 0, NoIntrinsic, { 0, 0 } },
3781#endif
3782#if ENABLE(WEBGL)
3783 { "TEXTURE22", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D6) } },
3784#else
3785 { 0, 0, NoIntrinsic, { 0, 0 } },
3786#endif
3787#if ENABLE(WEBGL)
3788 { "TEXTURE23", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D7) } },
3789#else
3790 { 0, 0, NoIntrinsic, { 0, 0 } },
3791#endif
3792#if ENABLE(WEBGL)
3793 { "TEXTURE24", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D8) } },
3794#else
3795 { 0, 0, NoIntrinsic, { 0, 0 } },
3796#endif
3797#if ENABLE(WEBGL)
3798 { "TEXTURE25", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D9) } },
3799#else
3800 { 0, 0, NoIntrinsic, { 0, 0 } },
3801#endif
3802#if ENABLE(WEBGL)
3803 { "TEXTURE26", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DA) } },
3804#else
3805 { 0, 0, NoIntrinsic, { 0, 0 } },
3806#endif
3807#if ENABLE(WEBGL)
3808 { "TEXTURE27", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DB) } },
3809#else
3810 { 0, 0, NoIntrinsic, { 0, 0 } },
3811#endif
3812#if ENABLE(WEBGL)
3813 { "TEXTURE28", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DC) } },
3814#else
3815 { 0, 0, NoIntrinsic, { 0, 0 } },
3816#endif
3817#if ENABLE(WEBGL)
3818 { "TEXTURE29", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DD) } },
3819#else
3820 { 0, 0, NoIntrinsic, { 0, 0 } },
3821#endif
3822#if ENABLE(WEBGL)
3823 { "TEXTURE30", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DE) } },
3824#else
3825 { 0, 0, NoIntrinsic, { 0, 0 } },
3826#endif
3827#if ENABLE(WEBGL)
3828 { "TEXTURE31", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DF) } },
3829#else
3830 { 0, 0, NoIntrinsic, { 0, 0 } },
3831#endif
3832#if ENABLE(WEBGL)
3833 { "ACTIVE_TEXTURE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84E0) } },
3834#else
3835 { 0, 0, NoIntrinsic, { 0, 0 } },
3836#endif
3837#if ENABLE(WEBGL)
3838 { "REPEAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2901) } },
3839#else
3840 { 0, 0, NoIntrinsic, { 0, 0 } },
3841#endif
3842#if ENABLE(WEBGL)
3843 { "CLAMP_TO_EDGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x812F) } },
3844#else
3845 { 0, 0, NoIntrinsic, { 0, 0 } },
3846#endif
3847#if ENABLE(WEBGL)
3848 { "MIRRORED_REPEAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8370) } },
3849#else
3850 { 0, 0, NoIntrinsic, { 0, 0 } },
3851#endif
3852#if ENABLE(WEBGL)
3853 { "FLOAT_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B50) } },
3854#else
3855 { 0, 0, NoIntrinsic, { 0, 0 } },
3856#endif
3857#if ENABLE(WEBGL)
3858 { "FLOAT_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B51) } },
3859#else
3860 { 0, 0, NoIntrinsic, { 0, 0 } },
3861#endif
3862#if ENABLE(WEBGL)
3863 { "FLOAT_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B52) } },
3864#else
3865 { 0, 0, NoIntrinsic, { 0, 0 } },
3866#endif
3867#if ENABLE(WEBGL)
3868 { "INT_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B53) } },
3869#else
3870 { 0, 0, NoIntrinsic, { 0, 0 } },
3871#endif
3872#if ENABLE(WEBGL)
3873 { "INT_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B54) } },
3874#else
3875 { 0, 0, NoIntrinsic, { 0, 0 } },
3876#endif
3877#if ENABLE(WEBGL)
3878 { "INT_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B55) } },
3879#else
3880 { 0, 0, NoIntrinsic, { 0, 0 } },
3881#endif
3882#if ENABLE(WEBGL)
3883 { "BOOL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B56) } },
3884#else
3885 { 0, 0, NoIntrinsic, { 0, 0 } },
3886#endif
3887#if ENABLE(WEBGL)
3888 { "BOOL_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B57) } },
3889#else
3890 { 0, 0, NoIntrinsic, { 0, 0 } },
3891#endif
3892#if ENABLE(WEBGL)
3893 { "BOOL_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B58) } },
3894#else
3895 { 0, 0, NoIntrinsic, { 0, 0 } },
3896#endif
3897#if ENABLE(WEBGL)
3898 { "BOOL_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B59) } },
3899#else
3900 { 0, 0, NoIntrinsic, { 0, 0 } },
3901#endif
3902#if ENABLE(WEBGL)
3903 { "FLOAT_MAT2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5A) } },
3904#else
3905 { 0, 0, NoIntrinsic, { 0, 0 } },
3906#endif
3907#if ENABLE(WEBGL)
3908 { "FLOAT_MAT3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5B) } },
3909#else
3910 { 0, 0, NoIntrinsic, { 0, 0 } },
3911#endif
3912#if ENABLE(WEBGL)
3913 { "FLOAT_MAT4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5C) } },
3914#else
3915 { 0, 0, NoIntrinsic, { 0, 0 } },
3916#endif
3917#if ENABLE(WEBGL)
3918 { "SAMPLER_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5E) } },
3919#else
3920 { 0, 0, NoIntrinsic, { 0, 0 } },
3921#endif
3922#if ENABLE(WEBGL)
3923 { "SAMPLER_CUBE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B60) } },
3924#else
3925 { 0, 0, NoIntrinsic, { 0, 0 } },
3926#endif
3927#if ENABLE(WEBGL)
3928 { "VERTEX_ATTRIB_ARRAY_ENABLED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8622) } },
3929#else
3930 { 0, 0, NoIntrinsic, { 0, 0 } },
3931#endif
3932#if ENABLE(WEBGL)
3933 { "VERTEX_ATTRIB_ARRAY_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8623) } },
3934#else
3935 { 0, 0, NoIntrinsic, { 0, 0 } },
3936#endif
3937#if ENABLE(WEBGL)
3938 { "VERTEX_ATTRIB_ARRAY_STRIDE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8624) } },
3939#else
3940 { 0, 0, NoIntrinsic, { 0, 0 } },
3941#endif
3942#if ENABLE(WEBGL)
3943 { "VERTEX_ATTRIB_ARRAY_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8625) } },
3944#else
3945 { 0, 0, NoIntrinsic, { 0, 0 } },
3946#endif
3947#if ENABLE(WEBGL)
3948 { "VERTEX_ATTRIB_ARRAY_NORMALIZED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x886A) } },
3949#else
3950 { 0, 0, NoIntrinsic, { 0, 0 } },
3951#endif
3952#if ENABLE(WEBGL)
3953 { "VERTEX_ATTRIB_ARRAY_POINTER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8645) } },
3954#else
3955 { 0, 0, NoIntrinsic, { 0, 0 } },
3956#endif
3957#if ENABLE(WEBGL)
3958 { "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x889F) } },
3959#else
3960 { 0, 0, NoIntrinsic, { 0, 0 } },
3961#endif
3962#if ENABLE(WEBGL)
3963 { "IMPLEMENTATION_COLOR_READ_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B9A) } },
3964#else
3965 { 0, 0, NoIntrinsic, { 0, 0 } },
3966#endif
3967#if ENABLE(WEBGL)
3968 { "IMPLEMENTATION_COLOR_READ_FORMAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B9B) } },
3969#else
3970 { 0, 0, NoIntrinsic, { 0, 0 } },
3971#endif
3972#if ENABLE(WEBGL)
3973 { "COMPILE_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B81) } },
3974#else
3975 { 0, 0, NoIntrinsic, { 0, 0 } },
3976#endif
3977#if ENABLE(WEBGL)
3978 { "LOW_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF0) } },
3979#else
3980 { 0, 0, NoIntrinsic, { 0, 0 } },
3981#endif
3982#if ENABLE(WEBGL)
3983 { "MEDIUM_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF1) } },
3984#else
3985 { 0, 0, NoIntrinsic, { 0, 0 } },
3986#endif
3987#if ENABLE(WEBGL)
3988 { "HIGH_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF2) } },
3989#else
3990 { 0, 0, NoIntrinsic, { 0, 0 } },
3991#endif
3992#if ENABLE(WEBGL)
3993 { "LOW_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF3) } },
3994#else
3995 { 0, 0, NoIntrinsic, { 0, 0 } },
3996#endif
3997#if ENABLE(WEBGL)
3998 { "MEDIUM_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF4) } },
3999#else
4000 { 0, 0, NoIntrinsic, { 0, 0 } },
4001#endif
4002#if ENABLE(WEBGL)
4003 { "HIGH_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF5) } },
4004#else
4005 { 0, 0, NoIntrinsic, { 0, 0 } },
4006#endif
4007#if ENABLE(WEBGL)
4008 { "FRAMEBUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D40) } },
4009#else
4010 { 0, 0, NoIntrinsic, { 0, 0 } },
4011#endif
4012#if ENABLE(WEBGL)
4013 { "RENDERBUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D41) } },
4014#else
4015 { 0, 0, NoIntrinsic, { 0, 0 } },
4016#endif
4017#if ENABLE(WEBGL)
4018 { "RGBA4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8056) } },
4019#else
4020 { 0, 0, NoIntrinsic, { 0, 0 } },
4021#endif
4022#if ENABLE(WEBGL)
4023 { "RGB5_A1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8057) } },
4024#else
4025 { 0, 0, NoIntrinsic, { 0, 0 } },
4026#endif
4027#if ENABLE(WEBGL)
4028 { "RGB565", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D62) } },
4029#else
4030 { 0, 0, NoIntrinsic, { 0, 0 } },
4031#endif
4032#if ENABLE(WEBGL)
4033 { "DEPTH_COMPONENT16", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x81A5) } },
4034#else
4035 { 0, 0, NoIntrinsic, { 0, 0 } },
4036#endif
4037#if ENABLE(WEBGL)
4038 { "STENCIL_INDEX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1901) } },
4039#else
4040 { 0, 0, NoIntrinsic, { 0, 0 } },
4041#endif
4042#if ENABLE(WEBGL)
4043 { "STENCIL_INDEX8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D48) } },
4044#else
4045 { 0, 0, NoIntrinsic, { 0, 0 } },
4046#endif
4047#if ENABLE(WEBGL)
4048 { "DEPTH_STENCIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84F9) } },
4049#else
4050 { 0, 0, NoIntrinsic, { 0, 0 } },
4051#endif
4052#if ENABLE(WEBGL)
4053 { "RENDERBUFFER_WIDTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D42) } },
4054#else
4055 { 0, 0, NoIntrinsic, { 0, 0 } },
4056#endif
4057#if ENABLE(WEBGL)
4058 { "RENDERBUFFER_HEIGHT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D43) } },
4059#else
4060 { 0, 0, NoIntrinsic, { 0, 0 } },
4061#endif
4062#if ENABLE(WEBGL)
4063 { "RENDERBUFFER_INTERNAL_FORMAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D44) } },
4064#else
4065 { 0, 0, NoIntrinsic, { 0, 0 } },
4066#endif
4067#if ENABLE(WEBGL)
4068 { "RENDERBUFFER_RED_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D50) } },
4069#else
4070 { 0, 0, NoIntrinsic, { 0, 0 } },
4071#endif
4072#if ENABLE(WEBGL)
4073 { "RENDERBUFFER_GREEN_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D51) } },
4074#else
4075 { 0, 0, NoIntrinsic, { 0, 0 } },
4076#endif
4077#if ENABLE(WEBGL)
4078 { "RENDERBUFFER_BLUE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D52) } },
4079#else
4080 { 0, 0, NoIntrinsic, { 0, 0 } },
4081#endif
4082#if ENABLE(WEBGL)
4083 { "RENDERBUFFER_ALPHA_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D53) } },
4084#else
4085 { 0, 0, NoIntrinsic, { 0, 0 } },
4086#endif
4087#if ENABLE(WEBGL)
4088 { "RENDERBUFFER_DEPTH_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D54) } },
4089#else
4090 { 0, 0, NoIntrinsic, { 0, 0 } },
4091#endif
4092#if ENABLE(WEBGL)
4093 { "RENDERBUFFER_STENCIL_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D55) } },
4094#else
4095 { 0, 0, NoIntrinsic, { 0, 0 } },
4096#endif
4097#if ENABLE(WEBGL)
4098 { "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD0) } },
4099#else
4100 { 0, 0, NoIntrinsic, { 0, 0 } },
4101#endif
4102#if ENABLE(WEBGL)
4103 { "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD1) } },
4104#else
4105 { 0, 0, NoIntrinsic, { 0, 0 } },
4106#endif
4107#if ENABLE(WEBGL)
4108 { "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD2) } },
4109#else
4110 { 0, 0, NoIntrinsic, { 0, 0 } },
4111#endif
4112#if ENABLE(WEBGL)
4113 { "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD3) } },
4114#else
4115 { 0, 0, NoIntrinsic, { 0, 0 } },
4116#endif
4117#if ENABLE(WEBGL)
4118 { "COLOR_ATTACHMENT0", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE0) } },
4119#else
4120 { 0, 0, NoIntrinsic, { 0, 0 } },
4121#endif
4122#if ENABLE(WEBGL)
4123 { "DEPTH_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D00) } },
4124#else
4125 { 0, 0, NoIntrinsic, { 0, 0 } },
4126#endif
4127#if ENABLE(WEBGL)
4128 { "STENCIL_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D20) } },
4129#else
4130 { 0, 0, NoIntrinsic, { 0, 0 } },
4131#endif
4132#if ENABLE(WEBGL)
4133 { "DEPTH_STENCIL_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x821A) } },
4134#else
4135 { 0, 0, NoIntrinsic, { 0, 0 } },
4136#endif
4137#if ENABLE(WEBGL)
4138 { "NONE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0) } },
4139#else
4140 { 0, 0, NoIntrinsic, { 0, 0 } },
4141#endif
4142#if ENABLE(WEBGL)
4143 { "FRAMEBUFFER_COMPLETE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD5) } },
4144#else
4145 { 0, 0, NoIntrinsic, { 0, 0 } },
4146#endif
4147#if ENABLE(WEBGL)
4148 { "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD6) } },
4149#else
4150 { 0, 0, NoIntrinsic, { 0, 0 } },
4151#endif
4152#if ENABLE(WEBGL)
4153 { "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD7) } },
4154#else
4155 { 0, 0, NoIntrinsic, { 0, 0 } },
4156#endif
4157#if ENABLE(WEBGL)
4158 { "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD9) } },
4159#else
4160 { 0, 0, NoIntrinsic, { 0, 0 } },
4161#endif
4162#if ENABLE(WEBGL)
4163 { "FRAMEBUFFER_UNSUPPORTED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CDD) } },
4164#else
4165 { 0, 0, NoIntrinsic, { 0, 0 } },
4166#endif
4167#if ENABLE(WEBGL)
4168 { "FRAMEBUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA6) } },
4169#else
4170 { 0, 0, NoIntrinsic, { 0, 0 } },
4171#endif
4172#if ENABLE(WEBGL)
4173 { "RENDERBUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA7) } },
4174#else
4175 { 0, 0, NoIntrinsic, { 0, 0 } },
4176#endif
4177#if ENABLE(WEBGL)
4178 { "MAX_RENDERBUFFER_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84E8) } },
4179#else
4180 { 0, 0, NoIntrinsic, { 0, 0 } },
4181#endif
4182#if ENABLE(WEBGL)
4183 { "INVALID_FRAMEBUFFER_OPERATION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0506) } },
4184#else
4185 { 0, 0, NoIntrinsic, { 0, 0 } },
4186#endif
4187#if ENABLE(WEBGL)
4188 { "UNPACK_FLIP_Y_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9240) } },
4189#else
4190 { 0, 0, NoIntrinsic, { 0, 0 } },
4191#endif
4192#if ENABLE(WEBGL)
4193 { "UNPACK_PREMULTIPLY_ALPHA_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9241) } },
4194#else
4195 { 0, 0, NoIntrinsic, { 0, 0 } },
4196#endif
4197#if ENABLE(WEBGL)
4198 { "CONTEXT_LOST_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9242) } },
4199#else
4200 { 0, 0, NoIntrinsic, { 0, 0 } },
4201#endif
4202#if ENABLE(WEBGL)
4203 { "UNPACK_COLORSPACE_CONVERSION_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9243) } },
4204#else
4205 { 0, 0, NoIntrinsic, { 0, 0 } },
4206#endif
4207#if ENABLE(WEBGL)
4208 { "BROWSER_DEFAULT_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9244) } },
4209#else
4210 { 0, 0, NoIntrinsic, { 0, 0 } },
4211#endif
4212};
4213
4214const ClassInfo JSWebGLRenderingContextPrototype::s_info = { "WebGLRenderingContextPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebGLRenderingContextPrototype) };
4215
4216void JSWebGLRenderingContextPrototype::finishCreation(VM& vm)
4217{
4218 Base::finishCreation(vm);
4219 reifyStaticProperties(vm, JSWebGLRenderingContext::info(), JSWebGLRenderingContextPrototypeTableValues, *this);
4220}
4221
4222const ClassInfo JSWebGLRenderingContext::s_info = { "WebGLRenderingContext", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebGLRenderingContext) };
4223
4224JSWebGLRenderingContext::JSWebGLRenderingContext(Structure* structure, JSDOMGlobalObject& globalObject, Ref<WebGLRenderingContext>&& impl)
4225 : JSDOMWrapper<WebGLRenderingContext>(structure, globalObject, WTFMove(impl))
4226{
4227}
4228
4229void JSWebGLRenderingContext::finishCreation(VM& vm)
4230{
4231 Base::finishCreation(vm);
4232 ASSERT(inherits(vm, info()));
4233
4234}
4235
4236JSObject* JSWebGLRenderingContext::createPrototype(VM& vm, JSDOMGlobalObject& globalObject)
4237{
4238 return JSWebGLRenderingContextPrototype::create(vm, &globalObject, JSWebGLRenderingContextPrototype::createStructure(vm, &globalObject, globalObject.objectPrototype()));
4239}
4240
4241JSObject* JSWebGLRenderingContext::prototype(VM& vm, JSDOMGlobalObject& globalObject)
4242{
4243 return getDOMPrototype<JSWebGLRenderingContext>(vm, globalObject);
4244}
4245
4246JSValue JSWebGLRenderingContext::getConstructor(VM& vm, const JSGlobalObject* globalObject)
4247{
4248 return getDOMConstructor<JSWebGLRenderingContextConstructor>(vm, *jsCast<const JSDOMGlobalObject*>(globalObject));
4249}
4250
4251void JSWebGLRenderingContext::destroy(JSC::JSCell* cell)
4252{
4253 JSWebGLRenderingContext* thisObject = static_cast<JSWebGLRenderingContext*>(cell);
4254 thisObject->JSWebGLRenderingContext::~JSWebGLRenderingContext();
4255}
4256
4257template<> inline JSWebGLRenderingContext* IDLAttribute<JSWebGLRenderingContext>::cast(ExecState& state, EncodedJSValue thisValue)
4258{
4259 return jsDynamicCast<JSWebGLRenderingContext*>(state.vm(), JSValue::decode(thisValue));
4260}
4261
4262template<> inline JSWebGLRenderingContext* IDLOperation<JSWebGLRenderingContext>::cast(ExecState& state)
4263{
4264 return jsDynamicCast<JSWebGLRenderingContext*>(state.vm(), state.thisValue());
4265}
4266
4267EncodedJSValue jsWebGLRenderingContextConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
4268{
4269 VM& vm = state->vm();
4270 auto throwScope = DECLARE_THROW_SCOPE(vm);
4271 auto* prototype = jsDynamicCast<JSWebGLRenderingContextPrototype*>(vm, JSValue::decode(thisValue));
4272 if (UNLIKELY(!prototype))
4273 return throwVMTypeError(state, throwScope);
4274 return JSValue::encode(JSWebGLRenderingContext::getConstructor(state->vm(), prototype->globalObject()));
4275}
4276
4277bool setJSWebGLRenderingContextConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4278{
4279 VM& vm = state->vm();
4280 auto throwScope = DECLARE_THROW_SCOPE(vm);
4281 auto* prototype = jsDynamicCast<JSWebGLRenderingContextPrototype*>(vm, JSValue::decode(thisValue));
4282 if (UNLIKELY(!prototype)) {
4283 throwVMTypeError(state, throwScope);
4284 return false;
4285 }
4286 // Shadowing a built-in constructor
4287 return prototype->putDirect(vm, vm.propertyNames->constructor, JSValue::decode(encodedValue));
4288}
4289
4290#if ENABLE(WEBGL)
4291static inline JSValue jsWebGLRenderingContextCanvasGetter(ExecState& state, JSWebGLRenderingContext& thisObject, ThrowScope& throwScope)
4292{
4293 UNUSED_PARAM(throwScope);
4294 UNUSED_PARAM(state);
4295 auto& impl = thisObject.wrapped();
4296 JSValue result = toJS<IDLUnion<IDLInterface<HTMLCanvasElement>, IDLInterface<OffscreenCanvas>>>(state, *thisObject.globalObject(), throwScope, impl.canvas());
4297 return result;
4298}
4299
4300EncodedJSValue jsWebGLRenderingContextCanvas(ExecState* state, EncodedJSValue thisValue, PropertyName)
4301{
4302 return IDLAttribute<JSWebGLRenderingContext>::get<jsWebGLRenderingContextCanvasGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "canvas");
4303}
4304
4305#endif
4306
4307#if ENABLE(WEBGL)
4308static inline JSValue jsWebGLRenderingContextDrawingBufferWidthGetter(ExecState& state, JSWebGLRenderingContext& thisObject, ThrowScope& throwScope)
4309{
4310 UNUSED_PARAM(throwScope);
4311 UNUSED_PARAM(state);
4312 auto& impl = thisObject.wrapped();
4313 JSValue result = toJS<IDLLong>(state, throwScope, impl.drawingBufferWidth());
4314 return result;
4315}
4316
4317EncodedJSValue jsWebGLRenderingContextDrawingBufferWidth(ExecState* state, EncodedJSValue thisValue, PropertyName)
4318{
4319 return IDLAttribute<JSWebGLRenderingContext>::get<jsWebGLRenderingContextDrawingBufferWidthGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "drawingBufferWidth");
4320}
4321
4322#endif
4323
4324#if ENABLE(WEBGL)
4325static inline JSValue jsWebGLRenderingContextDrawingBufferHeightGetter(ExecState& state, JSWebGLRenderingContext& thisObject, ThrowScope& throwScope)
4326{
4327 UNUSED_PARAM(throwScope);
4328 UNUSED_PARAM(state);
4329 auto& impl = thisObject.wrapped();
4330 JSValue result = toJS<IDLLong>(state, throwScope, impl.drawingBufferHeight());
4331 return result;
4332}
4333
4334EncodedJSValue jsWebGLRenderingContextDrawingBufferHeight(ExecState* state, EncodedJSValue thisValue, PropertyName)
4335{
4336 return IDLAttribute<JSWebGLRenderingContext>::get<jsWebGLRenderingContextDrawingBufferHeightGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "drawingBufferHeight");
4337}
4338
4339#endif
4340
4341static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionTexImage2D1Body(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4342{
4343 UNUSED_PARAM(state);
4344 UNUSED_PARAM(throwScope);
4345 auto& impl = castedThis->wrapped();
4346 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4347 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4348 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
4349 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4350 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
4351 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4352 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
4353 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4354 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
4355 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4356 auto border = convert<IDLLong>(*state, state->uncheckedArgument(5));
4357 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4358 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(6));
4359 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4360 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
4361 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4362 auto pixels = convert<IDLNullable<IDLArrayBufferView>>(*state, state->uncheckedArgument(8), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 8, "pixels", "WebGLRenderingContext", "texImage2D", "ArrayBufferView"); });
4363 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4364 if (UNLIKELY(impl.callTracingActive())) {
4365 Vector<RecordCanvasActionVariant> callTracerParameters;
4366 callTracerParameters.append(target);
4367 callTracerParameters.append(level);
4368 callTracerParameters.append(internalformat);
4369 callTracerParameters.append(width);
4370 callTracerParameters.append(height);
4371 callTracerParameters.append(border);
4372 callTracerParameters.append(format);
4373 callTracerParameters.append(type);
4374 if (pixels)
4375 callTracerParameters.append(pixels);
4376 CallTracer::recordCanvasAction(impl, "texImage2D"_s, WTFMove(callTracerParameters));
4377 }
4378 impl.texImage2D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(border), WTFMove(format), WTFMove(type), WTFMove(pixels));
4379 return JSValue::encode(jsUndefined());
4380}
4381
4382static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionTexImage2D2Body(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4383{
4384 UNUSED_PARAM(state);
4385 UNUSED_PARAM(throwScope);
4386 auto& impl = castedThis->wrapped();
4387 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4388 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4389 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
4390 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4391 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
4392 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4393 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(3));
4394 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4395 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(4));
4396 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4397 auto source = convert<IDLNullable<IDLUnion<IDLInterface<ImageBitmap>, IDLInterface<ImageData>, IDLInterface<HTMLImageElement>, IDLInterface<HTMLCanvasElement>, IDLInterface<HTMLVideoElement>>>>(*state, state->uncheckedArgument(5));
4398 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4399 if (UNLIKELY(impl.callTracingActive())) {
4400 Vector<RecordCanvasActionVariant> callTracerParameters;
4401 callTracerParameters.append(target);
4402 callTracerParameters.append(level);
4403 callTracerParameters.append(internalformat);
4404 callTracerParameters.append(format);
4405 callTracerParameters.append(type);
4406 if (source)
4407 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, *source);
4408 CallTracer::recordCanvasAction(impl, "texImage2D"_s, WTFMove(callTracerParameters));
4409 }
4410 propagateException(*state, throwScope, impl.texImage2D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(format), WTFMove(type), WTFMove(source)));
4411 return JSValue::encode(jsUndefined());
4412}
4413
4414static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionTexImage2DOverloadDispatcher(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4415{
4416 UNUSED_PARAM(state);
4417 UNUSED_PARAM(throwScope);
4418 VM& vm = state->vm();
4419 UNUSED_PARAM(vm);
4420 size_t argsCount = std::min<size_t>(9, state->argumentCount());
4421 if (argsCount == 6) {
4422 return jsWebGLRenderingContextPrototypeFunctionTexImage2D2Body(state, castedThis, throwScope);
4423 }
4424 if (argsCount == 9) {
4425 return jsWebGLRenderingContextPrototypeFunctionTexImage2D1Body(state, castedThis, throwScope);
4426 }
4427 return argsCount < 6 ? throwVMError(state, throwScope, createNotEnoughArgumentsError(state)) : throwVMTypeError(state, throwScope);
4428}
4429
4430EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexImage2D(ExecState* state)
4431{
4432 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionTexImage2DOverloadDispatcher>(*state, "texImage2D");
4433}
4434
4435static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionTexSubImage2D1Body(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4436{
4437 UNUSED_PARAM(state);
4438 UNUSED_PARAM(throwScope);
4439 auto& impl = castedThis->wrapped();
4440 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4441 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4442 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
4443 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4444 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
4445 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4446 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
4447 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4448 auto width = convert<IDLLong>(*state, state->uncheckedArgument(4));
4449 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4450 auto height = convert<IDLLong>(*state, state->uncheckedArgument(5));
4451 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4452 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(6));
4453 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4454 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
4455 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4456 auto pixels = convert<IDLNullable<IDLArrayBufferView>>(*state, state->uncheckedArgument(8), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 8, "pixels", "WebGLRenderingContext", "texSubImage2D", "ArrayBufferView"); });
4457 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4458 if (UNLIKELY(impl.callTracingActive())) {
4459 Vector<RecordCanvasActionVariant> callTracerParameters;
4460 callTracerParameters.append(target);
4461 callTracerParameters.append(level);
4462 callTracerParameters.append(xoffset);
4463 callTracerParameters.append(yoffset);
4464 callTracerParameters.append(width);
4465 callTracerParameters.append(height);
4466 callTracerParameters.append(format);
4467 callTracerParameters.append(type);
4468 if (pixels)
4469 callTracerParameters.append(pixels);
4470 CallTracer::recordCanvasAction(impl, "texSubImage2D"_s, WTFMove(callTracerParameters));
4471 }
4472 impl.texSubImage2D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(width), WTFMove(height), WTFMove(format), WTFMove(type), WTFMove(pixels));
4473 return JSValue::encode(jsUndefined());
4474}
4475
4476static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionTexSubImage2D2Body(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4477{
4478 UNUSED_PARAM(state);
4479 UNUSED_PARAM(throwScope);
4480 auto& impl = castedThis->wrapped();
4481 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4482 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4483 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
4484 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4485 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
4486 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4487 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
4488 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4489 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(4));
4490 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4491 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(5));
4492 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4493 auto source = convert<IDLNullable<IDLUnion<IDLInterface<ImageBitmap>, IDLInterface<ImageData>, IDLInterface<HTMLImageElement>, IDLInterface<HTMLCanvasElement>, IDLInterface<HTMLVideoElement>>>>(*state, state->uncheckedArgument(6));
4494 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4495 if (UNLIKELY(impl.callTracingActive())) {
4496 Vector<RecordCanvasActionVariant> callTracerParameters;
4497 callTracerParameters.append(target);
4498 callTracerParameters.append(level);
4499 callTracerParameters.append(xoffset);
4500 callTracerParameters.append(yoffset);
4501 callTracerParameters.append(format);
4502 callTracerParameters.append(type);
4503 if (source)
4504 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, *source);
4505 CallTracer::recordCanvasAction(impl, "texSubImage2D"_s, WTFMove(callTracerParameters));
4506 }
4507 propagateException(*state, throwScope, impl.texSubImage2D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(format), WTFMove(type), WTFMove(source)));
4508 return JSValue::encode(jsUndefined());
4509}
4510
4511static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionTexSubImage2DOverloadDispatcher(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4512{
4513 UNUSED_PARAM(state);
4514 UNUSED_PARAM(throwScope);
4515 VM& vm = state->vm();
4516 UNUSED_PARAM(vm);
4517 size_t argsCount = std::min<size_t>(9, state->argumentCount());
4518 if (argsCount == 7) {
4519 return jsWebGLRenderingContextPrototypeFunctionTexSubImage2D2Body(state, castedThis, throwScope);
4520 }
4521 if (argsCount == 9) {
4522 return jsWebGLRenderingContextPrototypeFunctionTexSubImage2D1Body(state, castedThis, throwScope);
4523 }
4524 return argsCount < 7 ? throwVMError(state, throwScope, createNotEnoughArgumentsError(state)) : throwVMTypeError(state, throwScope);
4525}
4526
4527EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexSubImage2D(ExecState* state)
4528{
4529 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionTexSubImage2DOverloadDispatcher>(*state, "texSubImage2D");
4530}
4531
4532static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionCompressedTexImage2DBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4533{
4534 UNUSED_PARAM(state);
4535 UNUSED_PARAM(throwScope);
4536 auto& impl = castedThis->wrapped();
4537 if (UNLIKELY(state->argumentCount() < 7))
4538 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4539 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4540 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4541 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
4542 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4543 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
4544 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4545 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
4546 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4547 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
4548 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4549 auto border = convert<IDLLong>(*state, state->uncheckedArgument(5));
4550 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4551 auto data = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(6), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 6, "data", "WebGLRenderingContext", "compressedTexImage2D", "ArrayBufferView"); });
4552 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4553 if (UNLIKELY(impl.callTracingActive())) {
4554 Vector<RecordCanvasActionVariant> callTracerParameters;
4555 callTracerParameters.append(target);
4556 callTracerParameters.append(level);
4557 callTracerParameters.append(internalformat);
4558 callTracerParameters.append(width);
4559 callTracerParameters.append(height);
4560 callTracerParameters.append(border);
4561 callTracerParameters.append(data);
4562 CallTracer::recordCanvasAction(impl, "compressedTexImage2D"_s, WTFMove(callTracerParameters));
4563 }
4564 impl.compressedTexImage2D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(border), data.releaseNonNull());
4565 return JSValue::encode(jsUndefined());
4566}
4567
4568EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCompressedTexImage2D(ExecState* state)
4569{
4570 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionCompressedTexImage2DBody>(*state, "compressedTexImage2D");
4571}
4572
4573#if ENABLE(WEBGL)
4574static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionActiveTextureBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4575{
4576 UNUSED_PARAM(state);
4577 UNUSED_PARAM(throwScope);
4578 auto& impl = castedThis->wrapped();
4579 if (UNLIKELY(state->argumentCount() < 1))
4580 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4581 auto texture = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4582 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4583 if (UNLIKELY(impl.callTracingActive())) {
4584 Vector<RecordCanvasActionVariant> callTracerParameters;
4585 callTracerParameters.append(texture);
4586 CallTracer::recordCanvasAction(impl, "activeTexture"_s, WTFMove(callTracerParameters));
4587 }
4588 impl.activeTexture(WTFMove(texture));
4589 return JSValue::encode(jsUndefined());
4590}
4591
4592EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionActiveTexture(ExecState* state)
4593{
4594 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionActiveTextureBody>(*state, "activeTexture");
4595}
4596
4597#endif
4598
4599#if ENABLE(WEBGL)
4600static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionAttachShaderBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4601{
4602 UNUSED_PARAM(state);
4603 UNUSED_PARAM(throwScope);
4604 auto& impl = castedThis->wrapped();
4605 if (UNLIKELY(state->argumentCount() < 2))
4606 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4607 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "attachShader", "WebGLProgram"); });
4608 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4609 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "shader", "WebGLRenderingContext", "attachShader", "WebGLShader"); });
4610 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4611 if (UNLIKELY(impl.callTracingActive())) {
4612 Vector<RecordCanvasActionVariant> callTracerParameters;
4613 if (program)
4614 callTracerParameters.append(program);
4615 if (shader)
4616 callTracerParameters.append(shader);
4617 CallTracer::recordCanvasAction(impl, "attachShader"_s, WTFMove(callTracerParameters));
4618 }
4619 impl.attachShader(WTFMove(program), WTFMove(shader));
4620 return JSValue::encode(jsUndefined());
4621}
4622
4623EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionAttachShader(ExecState* state)
4624{
4625 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionAttachShaderBody>(*state, "attachShader");
4626}
4627
4628#endif
4629
4630#if ENABLE(WEBGL)
4631static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBindAttribLocationBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4632{
4633 UNUSED_PARAM(state);
4634 UNUSED_PARAM(throwScope);
4635 auto& impl = castedThis->wrapped();
4636 if (UNLIKELY(state->argumentCount() < 3))
4637 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4638 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "bindAttribLocation", "WebGLProgram"); });
4639 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4640 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
4641 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4642 auto name = convert<IDLDOMString>(*state, state->uncheckedArgument(2));
4643 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4644 if (UNLIKELY(impl.callTracingActive())) {
4645 Vector<RecordCanvasActionVariant> callTracerParameters;
4646 if (program)
4647 callTracerParameters.append(program);
4648 callTracerParameters.append(index);
4649 callTracerParameters.append(name);
4650 CallTracer::recordCanvasAction(impl, "bindAttribLocation"_s, WTFMove(callTracerParameters));
4651 }
4652 impl.bindAttribLocation(WTFMove(program), WTFMove(index), WTFMove(name));
4653 return JSValue::encode(jsUndefined());
4654}
4655
4656EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindAttribLocation(ExecState* state)
4657{
4658 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionBindAttribLocationBody>(*state, "bindAttribLocation");
4659}
4660
4661#endif
4662
4663#if ENABLE(WEBGL)
4664static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBindBufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4665{
4666 UNUSED_PARAM(state);
4667 UNUSED_PARAM(throwScope);
4668 auto& impl = castedThis->wrapped();
4669 if (UNLIKELY(state->argumentCount() < 2))
4670 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4671 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4672 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4673 auto buffer = convert<IDLNullable<IDLInterface<WebGLBuffer>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "buffer", "WebGLRenderingContext", "bindBuffer", "WebGLBuffer"); });
4674 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4675 if (UNLIKELY(impl.callTracingActive())) {
4676 Vector<RecordCanvasActionVariant> callTracerParameters;
4677 callTracerParameters.append(target);
4678 if (buffer)
4679 callTracerParameters.append(buffer);
4680 CallTracer::recordCanvasAction(impl, "bindBuffer"_s, WTFMove(callTracerParameters));
4681 }
4682 impl.bindBuffer(WTFMove(target), WTFMove(buffer));
4683 return JSValue::encode(jsUndefined());
4684}
4685
4686EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindBuffer(ExecState* state)
4687{
4688 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionBindBufferBody>(*state, "bindBuffer");
4689}
4690
4691#endif
4692
4693#if ENABLE(WEBGL)
4694static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBindFramebufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4695{
4696 UNUSED_PARAM(state);
4697 UNUSED_PARAM(throwScope);
4698 auto& impl = castedThis->wrapped();
4699 if (UNLIKELY(state->argumentCount() < 2))
4700 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4701 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4702 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4703 auto framebuffer = convert<IDLNullable<IDLInterface<WebGLFramebuffer>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "framebuffer", "WebGLRenderingContext", "bindFramebuffer", "WebGLFramebuffer"); });
4704 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4705 if (UNLIKELY(impl.callTracingActive())) {
4706 Vector<RecordCanvasActionVariant> callTracerParameters;
4707 callTracerParameters.append(target);
4708 if (framebuffer)
4709 callTracerParameters.append(framebuffer);
4710 CallTracer::recordCanvasAction(impl, "bindFramebuffer"_s, WTFMove(callTracerParameters));
4711 }
4712 impl.bindFramebuffer(WTFMove(target), WTFMove(framebuffer));
4713 return JSValue::encode(jsUndefined());
4714}
4715
4716EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindFramebuffer(ExecState* state)
4717{
4718 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionBindFramebufferBody>(*state, "bindFramebuffer");
4719}
4720
4721#endif
4722
4723#if ENABLE(WEBGL)
4724static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBindRenderbufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4725{
4726 UNUSED_PARAM(state);
4727 UNUSED_PARAM(throwScope);
4728 auto& impl = castedThis->wrapped();
4729 if (UNLIKELY(state->argumentCount() < 2))
4730 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4731 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4732 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4733 auto renderbuffer = convert<IDLNullable<IDLInterface<WebGLRenderbuffer>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "renderbuffer", "WebGLRenderingContext", "bindRenderbuffer", "WebGLRenderbuffer"); });
4734 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4735 if (UNLIKELY(impl.callTracingActive())) {
4736 Vector<RecordCanvasActionVariant> callTracerParameters;
4737 callTracerParameters.append(target);
4738 if (renderbuffer)
4739 callTracerParameters.append(renderbuffer);
4740 CallTracer::recordCanvasAction(impl, "bindRenderbuffer"_s, WTFMove(callTracerParameters));
4741 }
4742 impl.bindRenderbuffer(WTFMove(target), WTFMove(renderbuffer));
4743 return JSValue::encode(jsUndefined());
4744}
4745
4746EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindRenderbuffer(ExecState* state)
4747{
4748 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionBindRenderbufferBody>(*state, "bindRenderbuffer");
4749}
4750
4751#endif
4752
4753#if ENABLE(WEBGL)
4754static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBindTextureBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4755{
4756 UNUSED_PARAM(state);
4757 UNUSED_PARAM(throwScope);
4758 auto& impl = castedThis->wrapped();
4759 if (UNLIKELY(state->argumentCount() < 2))
4760 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4761 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4762 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4763 auto texture = convert<IDLNullable<IDLInterface<WebGLTexture>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "texture", "WebGLRenderingContext", "bindTexture", "WebGLTexture"); });
4764 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4765 if (UNLIKELY(impl.callTracingActive())) {
4766 Vector<RecordCanvasActionVariant> callTracerParameters;
4767 callTracerParameters.append(target);
4768 if (texture)
4769 callTracerParameters.append(texture);
4770 CallTracer::recordCanvasAction(impl, "bindTexture"_s, WTFMove(callTracerParameters));
4771 }
4772 impl.bindTexture(WTFMove(target), WTFMove(texture));
4773 return JSValue::encode(jsUndefined());
4774}
4775
4776EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBindTexture(ExecState* state)
4777{
4778 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionBindTextureBody>(*state, "bindTexture");
4779}
4780
4781#endif
4782
4783#if ENABLE(WEBGL)
4784static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBlendColorBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4785{
4786 UNUSED_PARAM(state);
4787 UNUSED_PARAM(throwScope);
4788 auto& impl = castedThis->wrapped();
4789 if (UNLIKELY(state->argumentCount() < 4))
4790 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4791 auto red = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
4792 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4793 auto green = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
4794 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4795 auto blue = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
4796 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4797 auto alpha = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(3));
4798 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4799 if (UNLIKELY(impl.callTracingActive())) {
4800 Vector<RecordCanvasActionVariant> callTracerParameters;
4801 callTracerParameters.append(red);
4802 callTracerParameters.append(green);
4803 callTracerParameters.append(blue);
4804 callTracerParameters.append(alpha);
4805 CallTracer::recordCanvasAction(impl, "blendColor"_s, WTFMove(callTracerParameters));
4806 }
4807 impl.blendColor(WTFMove(red), WTFMove(green), WTFMove(blue), WTFMove(alpha));
4808 return JSValue::encode(jsUndefined());
4809}
4810
4811EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendColor(ExecState* state)
4812{
4813 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionBlendColorBody>(*state, "blendColor");
4814}
4815
4816#endif
4817
4818#if ENABLE(WEBGL)
4819static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBlendEquationBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4820{
4821 UNUSED_PARAM(state);
4822 UNUSED_PARAM(throwScope);
4823 auto& impl = castedThis->wrapped();
4824 if (UNLIKELY(state->argumentCount() < 1))
4825 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4826 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4827 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4828 if (UNLIKELY(impl.callTracingActive())) {
4829 Vector<RecordCanvasActionVariant> callTracerParameters;
4830 callTracerParameters.append(mode);
4831 CallTracer::recordCanvasAction(impl, "blendEquation"_s, WTFMove(callTracerParameters));
4832 }
4833 impl.blendEquation(WTFMove(mode));
4834 return JSValue::encode(jsUndefined());
4835}
4836
4837EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendEquation(ExecState* state)
4838{
4839 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionBlendEquationBody>(*state, "blendEquation");
4840}
4841
4842#endif
4843
4844#if ENABLE(WEBGL)
4845static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBlendEquationSeparateBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4846{
4847 UNUSED_PARAM(state);
4848 UNUSED_PARAM(throwScope);
4849 auto& impl = castedThis->wrapped();
4850 if (UNLIKELY(state->argumentCount() < 2))
4851 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4852 auto modeRGB = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4853 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4854 auto modeAlpha = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
4855 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4856 if (UNLIKELY(impl.callTracingActive())) {
4857 Vector<RecordCanvasActionVariant> callTracerParameters;
4858 callTracerParameters.append(modeRGB);
4859 callTracerParameters.append(modeAlpha);
4860 CallTracer::recordCanvasAction(impl, "blendEquationSeparate"_s, WTFMove(callTracerParameters));
4861 }
4862 impl.blendEquationSeparate(WTFMove(modeRGB), WTFMove(modeAlpha));
4863 return JSValue::encode(jsUndefined());
4864}
4865
4866EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendEquationSeparate(ExecState* state)
4867{
4868 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionBlendEquationSeparateBody>(*state, "blendEquationSeparate");
4869}
4870
4871#endif
4872
4873#if ENABLE(WEBGL)
4874static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBlendFuncBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4875{
4876 UNUSED_PARAM(state);
4877 UNUSED_PARAM(throwScope);
4878 auto& impl = castedThis->wrapped();
4879 if (UNLIKELY(state->argumentCount() < 2))
4880 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4881 auto sfactor = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4882 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4883 auto dfactor = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
4884 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4885 if (UNLIKELY(impl.callTracingActive())) {
4886 Vector<RecordCanvasActionVariant> callTracerParameters;
4887 callTracerParameters.append(sfactor);
4888 callTracerParameters.append(dfactor);
4889 CallTracer::recordCanvasAction(impl, "blendFunc"_s, WTFMove(callTracerParameters));
4890 }
4891 impl.blendFunc(WTFMove(sfactor), WTFMove(dfactor));
4892 return JSValue::encode(jsUndefined());
4893}
4894
4895EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendFunc(ExecState* state)
4896{
4897 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionBlendFuncBody>(*state, "blendFunc");
4898}
4899
4900#endif
4901
4902#if ENABLE(WEBGL)
4903static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBlendFuncSeparateBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4904{
4905 UNUSED_PARAM(state);
4906 UNUSED_PARAM(throwScope);
4907 auto& impl = castedThis->wrapped();
4908 if (UNLIKELY(state->argumentCount() < 4))
4909 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
4910 auto srcRGB = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4911 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4912 auto dstRGB = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
4913 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4914 auto srcAlpha = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
4915 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4916 auto dstAlpha = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(3));
4917 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4918 if (UNLIKELY(impl.callTracingActive())) {
4919 Vector<RecordCanvasActionVariant> callTracerParameters;
4920 callTracerParameters.append(srcRGB);
4921 callTracerParameters.append(dstRGB);
4922 callTracerParameters.append(srcAlpha);
4923 callTracerParameters.append(dstAlpha);
4924 CallTracer::recordCanvasAction(impl, "blendFuncSeparate"_s, WTFMove(callTracerParameters));
4925 }
4926 impl.blendFuncSeparate(WTFMove(srcRGB), WTFMove(dstRGB), WTFMove(srcAlpha), WTFMove(dstAlpha));
4927 return JSValue::encode(jsUndefined());
4928}
4929
4930EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBlendFuncSeparate(ExecState* state)
4931{
4932 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionBlendFuncSeparateBody>(*state, "blendFuncSeparate");
4933}
4934
4935#endif
4936
4937#if ENABLE(WEBGL)
4938static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBufferData1Body(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4939{
4940 UNUSED_PARAM(state);
4941 UNUSED_PARAM(throwScope);
4942 auto& impl = castedThis->wrapped();
4943 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4944 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4945 auto data = convert<IDLNullable<IDLUnion<IDLArrayBuffer, IDLArrayBufferView>>>(*state, state->uncheckedArgument(1));
4946 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4947 auto usage = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
4948 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4949 if (UNLIKELY(impl.callTracingActive())) {
4950 Vector<RecordCanvasActionVariant> callTracerParameters;
4951 callTracerParameters.append(target);
4952 if (data)
4953 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, *data);
4954 callTracerParameters.append(usage);
4955 CallTracer::recordCanvasAction(impl, "bufferData"_s, WTFMove(callTracerParameters));
4956 }
4957 impl.bufferData(WTFMove(target), WTFMove(data), WTFMove(usage));
4958 return JSValue::encode(jsUndefined());
4959}
4960
4961#endif
4962
4963#if ENABLE(WEBGL)
4964static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBufferData2Body(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4965{
4966 UNUSED_PARAM(state);
4967 UNUSED_PARAM(throwScope);
4968 auto& impl = castedThis->wrapped();
4969 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
4970 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4971 auto size = convert<IDLLongLong>(*state, state->uncheckedArgument(1));
4972 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4973 auto usage = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
4974 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
4975 if (UNLIKELY(impl.callTracingActive())) {
4976 Vector<RecordCanvasActionVariant> callTracerParameters;
4977 callTracerParameters.append(target);
4978 callTracerParameters.append(size);
4979 callTracerParameters.append(usage);
4980 CallTracer::recordCanvasAction(impl, "bufferData"_s, WTFMove(callTracerParameters));
4981 }
4982 impl.bufferData(WTFMove(target), WTFMove(size), WTFMove(usage));
4983 return JSValue::encode(jsUndefined());
4984}
4985
4986#endif
4987
4988#if ENABLE(WEBGL)
4989
4990static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBufferDataOverloadDispatcher(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
4991{
4992 UNUSED_PARAM(state);
4993 UNUSED_PARAM(throwScope);
4994 VM& vm = state->vm();
4995 UNUSED_PARAM(vm);
4996 size_t argsCount = std::min<size_t>(3, state->argumentCount());
4997 if (argsCount == 3) {
4998 JSValue distinguishingArg = state->uncheckedArgument(1);
4999#if ENABLE(WEBGL)
5000 if (distinguishingArg.isUndefinedOrNull())
5001 return jsWebGLRenderingContextPrototypeFunctionBufferData1Body(state, castedThis, throwScope);
5002#endif
5003#if ENABLE(WEBGL)
5004 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSArrayBuffer>(vm))
5005 return jsWebGLRenderingContextPrototypeFunctionBufferData1Body(state, castedThis, throwScope);
5006#endif
5007#if ENABLE(WEBGL)
5008 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSArrayBufferView>(vm))
5009 return jsWebGLRenderingContextPrototypeFunctionBufferData1Body(state, castedThis, throwScope);
5010#endif
5011#if ENABLE(WEBGL)
5012 if (distinguishingArg.isNumber())
5013 return jsWebGLRenderingContextPrototypeFunctionBufferData2Body(state, castedThis, throwScope);
5014#endif
5015#if ENABLE(WEBGL)
5016 return jsWebGLRenderingContextPrototypeFunctionBufferData2Body(state, castedThis, throwScope);
5017#endif
5018 }
5019 return argsCount < 3 ? throwVMError(state, throwScope, createNotEnoughArgumentsError(state)) : throwVMTypeError(state, throwScope);
5020}
5021
5022EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBufferData(ExecState* state)
5023{
5024 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionBufferDataOverloadDispatcher>(*state, "bufferData");
5025}
5026
5027#endif
5028
5029#if ENABLE(WEBGL)
5030static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionBufferSubDataBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5031{
5032 UNUSED_PARAM(state);
5033 UNUSED_PARAM(throwScope);
5034 auto& impl = castedThis->wrapped();
5035 if (UNLIKELY(state->argumentCount() < 3))
5036 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5037 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5038 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5039 auto offset = convert<IDLLongLong>(*state, state->uncheckedArgument(1));
5040 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5041 auto data = convert<IDLNullable<IDLUnion<IDLArrayBuffer, IDLArrayBufferView>>>(*state, state->uncheckedArgument(2));
5042 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5043 if (UNLIKELY(impl.callTracingActive())) {
5044 Vector<RecordCanvasActionVariant> callTracerParameters;
5045 callTracerParameters.append(target);
5046 callTracerParameters.append(offset);
5047 if (data)
5048 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, *data);
5049 CallTracer::recordCanvasAction(impl, "bufferSubData"_s, WTFMove(callTracerParameters));
5050 }
5051 impl.bufferSubData(WTFMove(target), WTFMove(offset), WTFMove(data));
5052 return JSValue::encode(jsUndefined());
5053}
5054
5055EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBufferSubData(ExecState* state)
5056{
5057 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionBufferSubDataBody>(*state, "bufferSubData");
5058}
5059
5060#endif
5061
5062#if ENABLE(WEBGL)
5063static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionCheckFramebufferStatusBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5064{
5065 UNUSED_PARAM(state);
5066 UNUSED_PARAM(throwScope);
5067 auto& impl = castedThis->wrapped();
5068 if (UNLIKELY(state->argumentCount() < 1))
5069 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5070 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5071 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5072 if (UNLIKELY(impl.callTracingActive())) {
5073 Vector<RecordCanvasActionVariant> callTracerParameters;
5074 callTracerParameters.append(target);
5075 CallTracer::recordCanvasAction(impl, "checkFramebufferStatus"_s, WTFMove(callTracerParameters));
5076 }
5077 return JSValue::encode(toJS<IDLUnsignedLong>(impl.checkFramebufferStatus(WTFMove(target))));
5078}
5079
5080EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCheckFramebufferStatus(ExecState* state)
5081{
5082 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionCheckFramebufferStatusBody>(*state, "checkFramebufferStatus");
5083}
5084
5085#endif
5086
5087#if ENABLE(WEBGL)
5088static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionClearBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5089{
5090 UNUSED_PARAM(state);
5091 UNUSED_PARAM(throwScope);
5092 auto& impl = castedThis->wrapped();
5093 if (UNLIKELY(state->argumentCount() < 1))
5094 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5095 auto mask = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5096 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5097 if (UNLIKELY(impl.callTracingActive())) {
5098 Vector<RecordCanvasActionVariant> callTracerParameters;
5099 callTracerParameters.append(mask);
5100 CallTracer::recordCanvasAction(impl, "clear"_s, WTFMove(callTracerParameters));
5101 }
5102 impl.clear(WTFMove(mask));
5103 return JSValue::encode(jsUndefined());
5104}
5105
5106EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionClear(ExecState* state)
5107{
5108 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionClearBody>(*state, "clear");
5109}
5110
5111#endif
5112
5113#if ENABLE(WEBGL)
5114static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionClearColorBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5115{
5116 UNUSED_PARAM(state);
5117 UNUSED_PARAM(throwScope);
5118 auto& impl = castedThis->wrapped();
5119 if (UNLIKELY(state->argumentCount() < 4))
5120 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5121 auto red = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
5122 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5123 auto green = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
5124 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5125 auto blue = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
5126 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5127 auto alpha = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(3));
5128 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5129 if (UNLIKELY(impl.callTracingActive())) {
5130 Vector<RecordCanvasActionVariant> callTracerParameters;
5131 callTracerParameters.append(red);
5132 callTracerParameters.append(green);
5133 callTracerParameters.append(blue);
5134 callTracerParameters.append(alpha);
5135 CallTracer::recordCanvasAction(impl, "clearColor"_s, WTFMove(callTracerParameters));
5136 }
5137 impl.clearColor(WTFMove(red), WTFMove(green), WTFMove(blue), WTFMove(alpha));
5138 return JSValue::encode(jsUndefined());
5139}
5140
5141EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionClearColor(ExecState* state)
5142{
5143 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionClearColorBody>(*state, "clearColor");
5144}
5145
5146#endif
5147
5148#if ENABLE(WEBGL)
5149static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionClearDepthBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5150{
5151 UNUSED_PARAM(state);
5152 UNUSED_PARAM(throwScope);
5153 auto& impl = castedThis->wrapped();
5154 if (UNLIKELY(state->argumentCount() < 1))
5155 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5156 auto depth = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
5157 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5158 if (UNLIKELY(impl.callTracingActive())) {
5159 Vector<RecordCanvasActionVariant> callTracerParameters;
5160 callTracerParameters.append(depth);
5161 CallTracer::recordCanvasAction(impl, "clearDepth"_s, WTFMove(callTracerParameters));
5162 }
5163 impl.clearDepth(WTFMove(depth));
5164 return JSValue::encode(jsUndefined());
5165}
5166
5167EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionClearDepth(ExecState* state)
5168{
5169 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionClearDepthBody>(*state, "clearDepth");
5170}
5171
5172#endif
5173
5174#if ENABLE(WEBGL)
5175static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionClearStencilBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5176{
5177 UNUSED_PARAM(state);
5178 UNUSED_PARAM(throwScope);
5179 auto& impl = castedThis->wrapped();
5180 if (UNLIKELY(state->argumentCount() < 1))
5181 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5182 auto s = convert<IDLLong>(*state, state->uncheckedArgument(0));
5183 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5184 if (UNLIKELY(impl.callTracingActive())) {
5185 Vector<RecordCanvasActionVariant> callTracerParameters;
5186 callTracerParameters.append(s);
5187 CallTracer::recordCanvasAction(impl, "clearStencil"_s, WTFMove(callTracerParameters));
5188 }
5189 impl.clearStencil(WTFMove(s));
5190 return JSValue::encode(jsUndefined());
5191}
5192
5193EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionClearStencil(ExecState* state)
5194{
5195 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionClearStencilBody>(*state, "clearStencil");
5196}
5197
5198#endif
5199
5200#if ENABLE(WEBGL)
5201static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionColorMaskBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5202{
5203 UNUSED_PARAM(state);
5204 UNUSED_PARAM(throwScope);
5205 auto& impl = castedThis->wrapped();
5206 if (UNLIKELY(state->argumentCount() < 4))
5207 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5208 auto red = convert<IDLBoolean>(*state, state->uncheckedArgument(0));
5209 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5210 auto green = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
5211 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5212 auto blue = convert<IDLBoolean>(*state, state->uncheckedArgument(2));
5213 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5214 auto alpha = convert<IDLBoolean>(*state, state->uncheckedArgument(3));
5215 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5216 if (UNLIKELY(impl.callTracingActive())) {
5217 Vector<RecordCanvasActionVariant> callTracerParameters;
5218 callTracerParameters.append(red);
5219 callTracerParameters.append(green);
5220 callTracerParameters.append(blue);
5221 callTracerParameters.append(alpha);
5222 CallTracer::recordCanvasAction(impl, "colorMask"_s, WTFMove(callTracerParameters));
5223 }
5224 impl.colorMask(WTFMove(red), WTFMove(green), WTFMove(blue), WTFMove(alpha));
5225 return JSValue::encode(jsUndefined());
5226}
5227
5228EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionColorMask(ExecState* state)
5229{
5230 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionColorMaskBody>(*state, "colorMask");
5231}
5232
5233#endif
5234
5235#if ENABLE(WEBGL)
5236static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionCompileShaderBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5237{
5238 UNUSED_PARAM(state);
5239 UNUSED_PARAM(throwScope);
5240 auto& impl = castedThis->wrapped();
5241 if (UNLIKELY(state->argumentCount() < 1))
5242 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5243 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGLRenderingContext", "compileShader", "WebGLShader"); });
5244 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5245 if (UNLIKELY(impl.callTracingActive())) {
5246 Vector<RecordCanvasActionVariant> callTracerParameters;
5247 if (shader)
5248 callTracerParameters.append(shader);
5249 CallTracer::recordCanvasAction(impl, "compileShader"_s, WTFMove(callTracerParameters));
5250 }
5251 impl.compileShader(WTFMove(shader));
5252 return JSValue::encode(jsUndefined());
5253}
5254
5255EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCompileShader(ExecState* state)
5256{
5257 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionCompileShaderBody>(*state, "compileShader");
5258}
5259
5260#endif
5261
5262#if ENABLE(WEBGL)
5263static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionCompressedTexSubImage2DBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5264{
5265 UNUSED_PARAM(state);
5266 UNUSED_PARAM(throwScope);
5267 auto& impl = castedThis->wrapped();
5268 if (UNLIKELY(state->argumentCount() < 8))
5269 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5270 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5271 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5272 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5273 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5274 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
5275 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5276 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
5277 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5278 auto width = convert<IDLLong>(*state, state->uncheckedArgument(4));
5279 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5280 auto height = convert<IDLLong>(*state, state->uncheckedArgument(5));
5281 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5282 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(6));
5283 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5284 auto data = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(7), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 7, "data", "WebGLRenderingContext", "compressedTexSubImage2D", "ArrayBufferView"); });
5285 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5286 if (UNLIKELY(impl.callTracingActive())) {
5287 Vector<RecordCanvasActionVariant> callTracerParameters;
5288 callTracerParameters.append(target);
5289 callTracerParameters.append(level);
5290 callTracerParameters.append(xoffset);
5291 callTracerParameters.append(yoffset);
5292 callTracerParameters.append(width);
5293 callTracerParameters.append(height);
5294 callTracerParameters.append(format);
5295 callTracerParameters.append(data);
5296 CallTracer::recordCanvasAction(impl, "compressedTexSubImage2D"_s, WTFMove(callTracerParameters));
5297 }
5298 impl.compressedTexSubImage2D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(width), WTFMove(height), WTFMove(format), data.releaseNonNull());
5299 return JSValue::encode(jsUndefined());
5300}
5301
5302EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCompressedTexSubImage2D(ExecState* state)
5303{
5304 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionCompressedTexSubImage2DBody>(*state, "compressedTexSubImage2D");
5305}
5306
5307#endif
5308
5309#if ENABLE(WEBGL)
5310static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionCopyTexImage2DBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5311{
5312 UNUSED_PARAM(state);
5313 UNUSED_PARAM(throwScope);
5314 auto& impl = castedThis->wrapped();
5315 if (UNLIKELY(state->argumentCount() < 8))
5316 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5317 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5318 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5319 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5320 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5321 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
5322 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5323 auto x = convert<IDLLong>(*state, state->uncheckedArgument(3));
5324 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5325 auto y = convert<IDLLong>(*state, state->uncheckedArgument(4));
5326 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5327 auto width = convert<IDLLong>(*state, state->uncheckedArgument(5));
5328 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5329 auto height = convert<IDLLong>(*state, state->uncheckedArgument(6));
5330 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5331 auto border = convert<IDLLong>(*state, state->uncheckedArgument(7));
5332 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5333 if (UNLIKELY(impl.callTracingActive())) {
5334 Vector<RecordCanvasActionVariant> callTracerParameters;
5335 callTracerParameters.append(target);
5336 callTracerParameters.append(level);
5337 callTracerParameters.append(internalformat);
5338 callTracerParameters.append(x);
5339 callTracerParameters.append(y);
5340 callTracerParameters.append(width);
5341 callTracerParameters.append(height);
5342 callTracerParameters.append(border);
5343 CallTracer::recordCanvasAction(impl, "copyTexImage2D"_s, WTFMove(callTracerParameters));
5344 }
5345 impl.copyTexImage2D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(x), WTFMove(y), WTFMove(width), WTFMove(height), WTFMove(border));
5346 return JSValue::encode(jsUndefined());
5347}
5348
5349EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCopyTexImage2D(ExecState* state)
5350{
5351 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionCopyTexImage2DBody>(*state, "copyTexImage2D");
5352}
5353
5354#endif
5355
5356#if ENABLE(WEBGL)
5357static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionCopyTexSubImage2DBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5358{
5359 UNUSED_PARAM(state);
5360 UNUSED_PARAM(throwScope);
5361 auto& impl = castedThis->wrapped();
5362 if (UNLIKELY(state->argumentCount() < 8))
5363 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5364 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5365 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5366 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5367 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5368 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
5369 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5370 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
5371 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5372 auto x = convert<IDLLong>(*state, state->uncheckedArgument(4));
5373 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5374 auto y = convert<IDLLong>(*state, state->uncheckedArgument(5));
5375 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5376 auto width = convert<IDLLong>(*state, state->uncheckedArgument(6));
5377 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5378 auto height = convert<IDLLong>(*state, state->uncheckedArgument(7));
5379 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5380 if (UNLIKELY(impl.callTracingActive())) {
5381 Vector<RecordCanvasActionVariant> callTracerParameters;
5382 callTracerParameters.append(target);
5383 callTracerParameters.append(level);
5384 callTracerParameters.append(xoffset);
5385 callTracerParameters.append(yoffset);
5386 callTracerParameters.append(x);
5387 callTracerParameters.append(y);
5388 callTracerParameters.append(width);
5389 callTracerParameters.append(height);
5390 CallTracer::recordCanvasAction(impl, "copyTexSubImage2D"_s, WTFMove(callTracerParameters));
5391 }
5392 impl.copyTexSubImage2D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(x), WTFMove(y), WTFMove(width), WTFMove(height));
5393 return JSValue::encode(jsUndefined());
5394}
5395
5396EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCopyTexSubImage2D(ExecState* state)
5397{
5398 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionCopyTexSubImage2DBody>(*state, "copyTexSubImage2D");
5399}
5400
5401#endif
5402
5403#if ENABLE(WEBGL)
5404static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionCreateBufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5405{
5406 UNUSED_PARAM(state);
5407 UNUSED_PARAM(throwScope);
5408 auto& impl = castedThis->wrapped();
5409 if (UNLIKELY(impl.callTracingActive()))
5410 CallTracer::recordCanvasAction(impl, "createBuffer"_s);
5411 return JSValue::encode(toJS<IDLInterface<WebGLBuffer>>(*state, *castedThis->globalObject(), impl.createBuffer()));
5412}
5413
5414EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateBuffer(ExecState* state)
5415{
5416 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionCreateBufferBody>(*state, "createBuffer");
5417}
5418
5419#endif
5420
5421#if ENABLE(WEBGL)
5422static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionCreateFramebufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5423{
5424 UNUSED_PARAM(state);
5425 UNUSED_PARAM(throwScope);
5426 auto& impl = castedThis->wrapped();
5427 if (UNLIKELY(impl.callTracingActive()))
5428 CallTracer::recordCanvasAction(impl, "createFramebuffer"_s);
5429 return JSValue::encode(toJS<IDLInterface<WebGLFramebuffer>>(*state, *castedThis->globalObject(), impl.createFramebuffer()));
5430}
5431
5432EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateFramebuffer(ExecState* state)
5433{
5434 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionCreateFramebufferBody>(*state, "createFramebuffer");
5435}
5436
5437#endif
5438
5439#if ENABLE(WEBGL)
5440static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionCreateProgramBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5441{
5442 UNUSED_PARAM(state);
5443 UNUSED_PARAM(throwScope);
5444 auto& impl = castedThis->wrapped();
5445 if (UNLIKELY(impl.callTracingActive()))
5446 CallTracer::recordCanvasAction(impl, "createProgram"_s);
5447 return JSValue::encode(toJS<IDLInterface<WebGLProgram>>(*state, *castedThis->globalObject(), impl.createProgram()));
5448}
5449
5450EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateProgram(ExecState* state)
5451{
5452 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionCreateProgramBody>(*state, "createProgram");
5453}
5454
5455#endif
5456
5457#if ENABLE(WEBGL)
5458static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionCreateRenderbufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5459{
5460 UNUSED_PARAM(state);
5461 UNUSED_PARAM(throwScope);
5462 auto& impl = castedThis->wrapped();
5463 if (UNLIKELY(impl.callTracingActive()))
5464 CallTracer::recordCanvasAction(impl, "createRenderbuffer"_s);
5465 return JSValue::encode(toJS<IDLInterface<WebGLRenderbuffer>>(*state, *castedThis->globalObject(), impl.createRenderbuffer()));
5466}
5467
5468EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateRenderbuffer(ExecState* state)
5469{
5470 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionCreateRenderbufferBody>(*state, "createRenderbuffer");
5471}
5472
5473#endif
5474
5475#if ENABLE(WEBGL)
5476static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionCreateShaderBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5477{
5478 UNUSED_PARAM(state);
5479 UNUSED_PARAM(throwScope);
5480 auto& impl = castedThis->wrapped();
5481 if (UNLIKELY(state->argumentCount() < 1))
5482 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5483 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5484 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5485 if (UNLIKELY(impl.callTracingActive())) {
5486 Vector<RecordCanvasActionVariant> callTracerParameters;
5487 callTracerParameters.append(type);
5488 CallTracer::recordCanvasAction(impl, "createShader"_s, WTFMove(callTracerParameters));
5489 }
5490 return JSValue::encode(toJS<IDLInterface<WebGLShader>>(*state, *castedThis->globalObject(), impl.createShader(WTFMove(type))));
5491}
5492
5493EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateShader(ExecState* state)
5494{
5495 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionCreateShaderBody>(*state, "createShader");
5496}
5497
5498#endif
5499
5500#if ENABLE(WEBGL)
5501static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionCreateTextureBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5502{
5503 UNUSED_PARAM(state);
5504 UNUSED_PARAM(throwScope);
5505 auto& impl = castedThis->wrapped();
5506 if (UNLIKELY(impl.callTracingActive()))
5507 CallTracer::recordCanvasAction(impl, "createTexture"_s);
5508 return JSValue::encode(toJS<IDLInterface<WebGLTexture>>(*state, *castedThis->globalObject(), impl.createTexture()));
5509}
5510
5511EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCreateTexture(ExecState* state)
5512{
5513 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionCreateTextureBody>(*state, "createTexture");
5514}
5515
5516#endif
5517
5518#if ENABLE(WEBGL)
5519static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionCullFaceBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5520{
5521 UNUSED_PARAM(state);
5522 UNUSED_PARAM(throwScope);
5523 auto& impl = castedThis->wrapped();
5524 if (UNLIKELY(state->argumentCount() < 1))
5525 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5526 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5527 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5528 if (UNLIKELY(impl.callTracingActive())) {
5529 Vector<RecordCanvasActionVariant> callTracerParameters;
5530 callTracerParameters.append(mode);
5531 CallTracer::recordCanvasAction(impl, "cullFace"_s, WTFMove(callTracerParameters));
5532 }
5533 impl.cullFace(WTFMove(mode));
5534 return JSValue::encode(jsUndefined());
5535}
5536
5537EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionCullFace(ExecState* state)
5538{
5539 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionCullFaceBody>(*state, "cullFace");
5540}
5541
5542#endif
5543
5544#if ENABLE(WEBGL)
5545static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDeleteBufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5546{
5547 UNUSED_PARAM(state);
5548 UNUSED_PARAM(throwScope);
5549 auto& impl = castedThis->wrapped();
5550 if (UNLIKELY(state->argumentCount() < 1))
5551 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5552 auto buffer = convert<IDLNullable<IDLInterface<WebGLBuffer>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "buffer", "WebGLRenderingContext", "deleteBuffer", "WebGLBuffer"); });
5553 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5554 if (UNLIKELY(impl.callTracingActive())) {
5555 Vector<RecordCanvasActionVariant> callTracerParameters;
5556 if (buffer)
5557 callTracerParameters.append(buffer);
5558 CallTracer::recordCanvasAction(impl, "deleteBuffer"_s, WTFMove(callTracerParameters));
5559 }
5560 impl.deleteBuffer(WTFMove(buffer));
5561 return JSValue::encode(jsUndefined());
5562}
5563
5564EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteBuffer(ExecState* state)
5565{
5566 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDeleteBufferBody>(*state, "deleteBuffer");
5567}
5568
5569#endif
5570
5571#if ENABLE(WEBGL)
5572static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDeleteFramebufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5573{
5574 UNUSED_PARAM(state);
5575 UNUSED_PARAM(throwScope);
5576 auto& impl = castedThis->wrapped();
5577 if (UNLIKELY(state->argumentCount() < 1))
5578 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5579 auto framebuffer = convert<IDLNullable<IDLInterface<WebGLFramebuffer>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "framebuffer", "WebGLRenderingContext", "deleteFramebuffer", "WebGLFramebuffer"); });
5580 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5581 if (UNLIKELY(impl.callTracingActive())) {
5582 Vector<RecordCanvasActionVariant> callTracerParameters;
5583 if (framebuffer)
5584 callTracerParameters.append(framebuffer);
5585 CallTracer::recordCanvasAction(impl, "deleteFramebuffer"_s, WTFMove(callTracerParameters));
5586 }
5587 impl.deleteFramebuffer(WTFMove(framebuffer));
5588 return JSValue::encode(jsUndefined());
5589}
5590
5591EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteFramebuffer(ExecState* state)
5592{
5593 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDeleteFramebufferBody>(*state, "deleteFramebuffer");
5594}
5595
5596#endif
5597
5598#if ENABLE(WEBGL)
5599static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDeleteProgramBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5600{
5601 UNUSED_PARAM(state);
5602 UNUSED_PARAM(throwScope);
5603 auto& impl = castedThis->wrapped();
5604 if (UNLIKELY(state->argumentCount() < 1))
5605 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5606 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "deleteProgram", "WebGLProgram"); });
5607 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5608 if (UNLIKELY(impl.callTracingActive())) {
5609 Vector<RecordCanvasActionVariant> callTracerParameters;
5610 if (program)
5611 callTracerParameters.append(program);
5612 CallTracer::recordCanvasAction(impl, "deleteProgram"_s, WTFMove(callTracerParameters));
5613 }
5614 impl.deleteProgram(WTFMove(program));
5615 return JSValue::encode(jsUndefined());
5616}
5617
5618EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteProgram(ExecState* state)
5619{
5620 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDeleteProgramBody>(*state, "deleteProgram");
5621}
5622
5623#endif
5624
5625#if ENABLE(WEBGL)
5626static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDeleteRenderbufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5627{
5628 UNUSED_PARAM(state);
5629 UNUSED_PARAM(throwScope);
5630 auto& impl = castedThis->wrapped();
5631 if (UNLIKELY(state->argumentCount() < 1))
5632 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5633 auto renderbuffer = convert<IDLNullable<IDLInterface<WebGLRenderbuffer>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "renderbuffer", "WebGLRenderingContext", "deleteRenderbuffer", "WebGLRenderbuffer"); });
5634 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5635 if (UNLIKELY(impl.callTracingActive())) {
5636 Vector<RecordCanvasActionVariant> callTracerParameters;
5637 if (renderbuffer)
5638 callTracerParameters.append(renderbuffer);
5639 CallTracer::recordCanvasAction(impl, "deleteRenderbuffer"_s, WTFMove(callTracerParameters));
5640 }
5641 impl.deleteRenderbuffer(WTFMove(renderbuffer));
5642 return JSValue::encode(jsUndefined());
5643}
5644
5645EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteRenderbuffer(ExecState* state)
5646{
5647 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDeleteRenderbufferBody>(*state, "deleteRenderbuffer");
5648}
5649
5650#endif
5651
5652#if ENABLE(WEBGL)
5653static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDeleteShaderBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5654{
5655 UNUSED_PARAM(state);
5656 UNUSED_PARAM(throwScope);
5657 auto& impl = castedThis->wrapped();
5658 if (UNLIKELY(state->argumentCount() < 1))
5659 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5660 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGLRenderingContext", "deleteShader", "WebGLShader"); });
5661 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5662 if (UNLIKELY(impl.callTracingActive())) {
5663 Vector<RecordCanvasActionVariant> callTracerParameters;
5664 if (shader)
5665 callTracerParameters.append(shader);
5666 CallTracer::recordCanvasAction(impl, "deleteShader"_s, WTFMove(callTracerParameters));
5667 }
5668 impl.deleteShader(WTFMove(shader));
5669 return JSValue::encode(jsUndefined());
5670}
5671
5672EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteShader(ExecState* state)
5673{
5674 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDeleteShaderBody>(*state, "deleteShader");
5675}
5676
5677#endif
5678
5679#if ENABLE(WEBGL)
5680static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDeleteTextureBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5681{
5682 UNUSED_PARAM(state);
5683 UNUSED_PARAM(throwScope);
5684 auto& impl = castedThis->wrapped();
5685 if (UNLIKELY(state->argumentCount() < 1))
5686 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5687 auto texture = convert<IDLNullable<IDLInterface<WebGLTexture>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "texture", "WebGLRenderingContext", "deleteTexture", "WebGLTexture"); });
5688 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5689 if (UNLIKELY(impl.callTracingActive())) {
5690 Vector<RecordCanvasActionVariant> callTracerParameters;
5691 if (texture)
5692 callTracerParameters.append(texture);
5693 CallTracer::recordCanvasAction(impl, "deleteTexture"_s, WTFMove(callTracerParameters));
5694 }
5695 impl.deleteTexture(WTFMove(texture));
5696 return JSValue::encode(jsUndefined());
5697}
5698
5699EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDeleteTexture(ExecState* state)
5700{
5701 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDeleteTextureBody>(*state, "deleteTexture");
5702}
5703
5704#endif
5705
5706#if ENABLE(WEBGL)
5707static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDepthFuncBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5708{
5709 UNUSED_PARAM(state);
5710 UNUSED_PARAM(throwScope);
5711 auto& impl = castedThis->wrapped();
5712 if (UNLIKELY(state->argumentCount() < 1))
5713 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5714 auto func = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5715 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5716 if (UNLIKELY(impl.callTracingActive())) {
5717 Vector<RecordCanvasActionVariant> callTracerParameters;
5718 callTracerParameters.append(func);
5719 CallTracer::recordCanvasAction(impl, "depthFunc"_s, WTFMove(callTracerParameters));
5720 }
5721 impl.depthFunc(WTFMove(func));
5722 return JSValue::encode(jsUndefined());
5723}
5724
5725EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDepthFunc(ExecState* state)
5726{
5727 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDepthFuncBody>(*state, "depthFunc");
5728}
5729
5730#endif
5731
5732#if ENABLE(WEBGL)
5733static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDepthMaskBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5734{
5735 UNUSED_PARAM(state);
5736 UNUSED_PARAM(throwScope);
5737 auto& impl = castedThis->wrapped();
5738 if (UNLIKELY(state->argumentCount() < 1))
5739 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5740 auto flag = convert<IDLBoolean>(*state, state->uncheckedArgument(0));
5741 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5742 if (UNLIKELY(impl.callTracingActive())) {
5743 Vector<RecordCanvasActionVariant> callTracerParameters;
5744 callTracerParameters.append(flag);
5745 CallTracer::recordCanvasAction(impl, "depthMask"_s, WTFMove(callTracerParameters));
5746 }
5747 impl.depthMask(WTFMove(flag));
5748 return JSValue::encode(jsUndefined());
5749}
5750
5751EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDepthMask(ExecState* state)
5752{
5753 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDepthMaskBody>(*state, "depthMask");
5754}
5755
5756#endif
5757
5758#if ENABLE(WEBGL)
5759static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDepthRangeBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5760{
5761 UNUSED_PARAM(state);
5762 UNUSED_PARAM(throwScope);
5763 auto& impl = castedThis->wrapped();
5764 if (UNLIKELY(state->argumentCount() < 2))
5765 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5766 auto zNear = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
5767 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5768 auto zFar = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
5769 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5770 if (UNLIKELY(impl.callTracingActive())) {
5771 Vector<RecordCanvasActionVariant> callTracerParameters;
5772 callTracerParameters.append(zNear);
5773 callTracerParameters.append(zFar);
5774 CallTracer::recordCanvasAction(impl, "depthRange"_s, WTFMove(callTracerParameters));
5775 }
5776 impl.depthRange(WTFMove(zNear), WTFMove(zFar));
5777 return JSValue::encode(jsUndefined());
5778}
5779
5780EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDepthRange(ExecState* state)
5781{
5782 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDepthRangeBody>(*state, "depthRange");
5783}
5784
5785#endif
5786
5787#if ENABLE(WEBGL)
5788static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDetachShaderBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5789{
5790 UNUSED_PARAM(state);
5791 UNUSED_PARAM(throwScope);
5792 auto& impl = castedThis->wrapped();
5793 if (UNLIKELY(state->argumentCount() < 2))
5794 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5795 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "detachShader", "WebGLProgram"); });
5796 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5797 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "shader", "WebGLRenderingContext", "detachShader", "WebGLShader"); });
5798 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5799 if (UNLIKELY(impl.callTracingActive())) {
5800 Vector<RecordCanvasActionVariant> callTracerParameters;
5801 if (program)
5802 callTracerParameters.append(program);
5803 if (shader)
5804 callTracerParameters.append(shader);
5805 CallTracer::recordCanvasAction(impl, "detachShader"_s, WTFMove(callTracerParameters));
5806 }
5807 impl.detachShader(WTFMove(program), WTFMove(shader));
5808 return JSValue::encode(jsUndefined());
5809}
5810
5811EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDetachShader(ExecState* state)
5812{
5813 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDetachShaderBody>(*state, "detachShader");
5814}
5815
5816#endif
5817
5818#if ENABLE(WEBGL)
5819static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDisableBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5820{
5821 UNUSED_PARAM(state);
5822 UNUSED_PARAM(throwScope);
5823 auto& impl = castedThis->wrapped();
5824 if (UNLIKELY(state->argumentCount() < 1))
5825 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5826 auto cap = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5827 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5828 if (UNLIKELY(impl.callTracingActive())) {
5829 Vector<RecordCanvasActionVariant> callTracerParameters;
5830 callTracerParameters.append(cap);
5831 CallTracer::recordCanvasAction(impl, "disable"_s, WTFMove(callTracerParameters));
5832 }
5833 impl.disable(WTFMove(cap));
5834 return JSValue::encode(jsUndefined());
5835}
5836
5837EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDisable(ExecState* state)
5838{
5839 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDisableBody>(*state, "disable");
5840}
5841
5842#endif
5843
5844#if ENABLE(WEBGL)
5845static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDisableVertexAttribArrayBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5846{
5847 UNUSED_PARAM(state);
5848 UNUSED_PARAM(throwScope);
5849 auto& impl = castedThis->wrapped();
5850 if (UNLIKELY(state->argumentCount() < 1))
5851 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5852 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5853 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5854 if (UNLIKELY(impl.callTracingActive())) {
5855 Vector<RecordCanvasActionVariant> callTracerParameters;
5856 callTracerParameters.append(index);
5857 CallTracer::recordCanvasAction(impl, "disableVertexAttribArray"_s, WTFMove(callTracerParameters));
5858 }
5859 impl.disableVertexAttribArray(WTFMove(index));
5860 return JSValue::encode(jsUndefined());
5861}
5862
5863EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDisableVertexAttribArray(ExecState* state)
5864{
5865 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDisableVertexAttribArrayBody>(*state, "disableVertexAttribArray");
5866}
5867
5868#endif
5869
5870#if ENABLE(WEBGL)
5871static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDrawArraysBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5872{
5873 UNUSED_PARAM(state);
5874 UNUSED_PARAM(throwScope);
5875 auto& impl = castedThis->wrapped();
5876 if (UNLIKELY(state->argumentCount() < 3))
5877 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5878 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5879 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5880 auto first = convert<IDLLong>(*state, state->uncheckedArgument(1));
5881 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5882 auto count = convert<IDLLong>(*state, state->uncheckedArgument(2));
5883 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5884 if (UNLIKELY(impl.callTracingActive())) {
5885 Vector<RecordCanvasActionVariant> callTracerParameters;
5886 callTracerParameters.append(mode);
5887 callTracerParameters.append(first);
5888 callTracerParameters.append(count);
5889 CallTracer::recordCanvasAction(impl, "drawArrays"_s, WTFMove(callTracerParameters));
5890 }
5891 impl.drawArrays(WTFMove(mode), WTFMove(first), WTFMove(count));
5892 return JSValue::encode(jsUndefined());
5893}
5894
5895EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDrawArrays(ExecState* state)
5896{
5897 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDrawArraysBody>(*state, "drawArrays");
5898}
5899
5900#endif
5901
5902#if ENABLE(WEBGL)
5903static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionDrawElementsBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5904{
5905 UNUSED_PARAM(state);
5906 UNUSED_PARAM(throwScope);
5907 auto& impl = castedThis->wrapped();
5908 if (UNLIKELY(state->argumentCount() < 4))
5909 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5910 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5911 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5912 auto count = convert<IDLLong>(*state, state->uncheckedArgument(1));
5913 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5914 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
5915 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5916 auto offset = convert<IDLLongLong>(*state, state->uncheckedArgument(3));
5917 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5918 if (UNLIKELY(impl.callTracingActive())) {
5919 Vector<RecordCanvasActionVariant> callTracerParameters;
5920 callTracerParameters.append(mode);
5921 callTracerParameters.append(count);
5922 callTracerParameters.append(type);
5923 callTracerParameters.append(offset);
5924 CallTracer::recordCanvasAction(impl, "drawElements"_s, WTFMove(callTracerParameters));
5925 }
5926 impl.drawElements(WTFMove(mode), WTFMove(count), WTFMove(type), WTFMove(offset));
5927 return JSValue::encode(jsUndefined());
5928}
5929
5930EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionDrawElements(ExecState* state)
5931{
5932 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionDrawElementsBody>(*state, "drawElements");
5933}
5934
5935#endif
5936
5937#if ENABLE(WEBGL)
5938static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionEnableBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5939{
5940 UNUSED_PARAM(state);
5941 UNUSED_PARAM(throwScope);
5942 auto& impl = castedThis->wrapped();
5943 if (UNLIKELY(state->argumentCount() < 1))
5944 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5945 auto cap = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5946 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5947 if (UNLIKELY(impl.callTracingActive())) {
5948 Vector<RecordCanvasActionVariant> callTracerParameters;
5949 callTracerParameters.append(cap);
5950 CallTracer::recordCanvasAction(impl, "enable"_s, WTFMove(callTracerParameters));
5951 }
5952 impl.enable(WTFMove(cap));
5953 return JSValue::encode(jsUndefined());
5954}
5955
5956EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionEnable(ExecState* state)
5957{
5958 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionEnableBody>(*state, "enable");
5959}
5960
5961#endif
5962
5963#if ENABLE(WEBGL)
5964static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionEnableVertexAttribArrayBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5965{
5966 UNUSED_PARAM(state);
5967 UNUSED_PARAM(throwScope);
5968 auto& impl = castedThis->wrapped();
5969 if (UNLIKELY(state->argumentCount() < 1))
5970 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5971 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5972 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5973 if (UNLIKELY(impl.callTracingActive())) {
5974 Vector<RecordCanvasActionVariant> callTracerParameters;
5975 callTracerParameters.append(index);
5976 CallTracer::recordCanvasAction(impl, "enableVertexAttribArray"_s, WTFMove(callTracerParameters));
5977 }
5978 impl.enableVertexAttribArray(WTFMove(index));
5979 return JSValue::encode(jsUndefined());
5980}
5981
5982EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionEnableVertexAttribArray(ExecState* state)
5983{
5984 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionEnableVertexAttribArrayBody>(*state, "enableVertexAttribArray");
5985}
5986
5987#endif
5988
5989#if ENABLE(WEBGL)
5990static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionFinishBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5991{
5992 UNUSED_PARAM(state);
5993 UNUSED_PARAM(throwScope);
5994 auto& impl = castedThis->wrapped();
5995 if (UNLIKELY(impl.callTracingActive()))
5996 CallTracer::recordCanvasAction(impl, "finish"_s);
5997 impl.finish();
5998 return JSValue::encode(jsUndefined());
5999}
6000
6001EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFinish(ExecState* state)
6002{
6003 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionFinishBody>(*state, "finish");
6004}
6005
6006#endif
6007
6008#if ENABLE(WEBGL)
6009static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionFlushBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6010{
6011 UNUSED_PARAM(state);
6012 UNUSED_PARAM(throwScope);
6013 auto& impl = castedThis->wrapped();
6014 if (UNLIKELY(impl.callTracingActive()))
6015 CallTracer::recordCanvasAction(impl, "flush"_s);
6016 impl.flush();
6017 return JSValue::encode(jsUndefined());
6018}
6019
6020EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFlush(ExecState* state)
6021{
6022 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionFlushBody>(*state, "flush");
6023}
6024
6025#endif
6026
6027#if ENABLE(WEBGL)
6028static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionFramebufferRenderbufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6029{
6030 UNUSED_PARAM(state);
6031 UNUSED_PARAM(throwScope);
6032 auto& impl = castedThis->wrapped();
6033 if (UNLIKELY(state->argumentCount() < 4))
6034 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6035 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6036 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6037 auto attachment = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6038 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6039 auto renderbuffertarget = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
6040 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6041 auto renderbuffer = convert<IDLNullable<IDLInterface<WebGLRenderbuffer>>>(*state, state->uncheckedArgument(3), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 3, "renderbuffer", "WebGLRenderingContext", "framebufferRenderbuffer", "WebGLRenderbuffer"); });
6042 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6043 if (UNLIKELY(impl.callTracingActive())) {
6044 Vector<RecordCanvasActionVariant> callTracerParameters;
6045 callTracerParameters.append(target);
6046 callTracerParameters.append(attachment);
6047 callTracerParameters.append(renderbuffertarget);
6048 if (renderbuffer)
6049 callTracerParameters.append(renderbuffer);
6050 CallTracer::recordCanvasAction(impl, "framebufferRenderbuffer"_s, WTFMove(callTracerParameters));
6051 }
6052 impl.framebufferRenderbuffer(WTFMove(target), WTFMove(attachment), WTFMove(renderbuffertarget), WTFMove(renderbuffer));
6053 return JSValue::encode(jsUndefined());
6054}
6055
6056EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFramebufferRenderbuffer(ExecState* state)
6057{
6058 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionFramebufferRenderbufferBody>(*state, "framebufferRenderbuffer");
6059}
6060
6061#endif
6062
6063#if ENABLE(WEBGL)
6064static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionFramebufferTexture2DBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6065{
6066 UNUSED_PARAM(state);
6067 UNUSED_PARAM(throwScope);
6068 auto& impl = castedThis->wrapped();
6069 if (UNLIKELY(state->argumentCount() < 5))
6070 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6071 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6072 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6073 auto attachment = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6074 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6075 auto textarget = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
6076 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6077 auto texture = convert<IDLNullable<IDLInterface<WebGLTexture>>>(*state, state->uncheckedArgument(3), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 3, "texture", "WebGLRenderingContext", "framebufferTexture2D", "WebGLTexture"); });
6078 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6079 auto level = convert<IDLLong>(*state, state->uncheckedArgument(4));
6080 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6081 if (UNLIKELY(impl.callTracingActive())) {
6082 Vector<RecordCanvasActionVariant> callTracerParameters;
6083 callTracerParameters.append(target);
6084 callTracerParameters.append(attachment);
6085 callTracerParameters.append(textarget);
6086 if (texture)
6087 callTracerParameters.append(texture);
6088 callTracerParameters.append(level);
6089 CallTracer::recordCanvasAction(impl, "framebufferTexture2D"_s, WTFMove(callTracerParameters));
6090 }
6091 impl.framebufferTexture2D(WTFMove(target), WTFMove(attachment), WTFMove(textarget), WTFMove(texture), WTFMove(level));
6092 return JSValue::encode(jsUndefined());
6093}
6094
6095EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFramebufferTexture2D(ExecState* state)
6096{
6097 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionFramebufferTexture2DBody>(*state, "framebufferTexture2D");
6098}
6099
6100#endif
6101
6102#if ENABLE(WEBGL)
6103static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionFrontFaceBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6104{
6105 UNUSED_PARAM(state);
6106 UNUSED_PARAM(throwScope);
6107 auto& impl = castedThis->wrapped();
6108 if (UNLIKELY(state->argumentCount() < 1))
6109 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6110 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6111 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6112 if (UNLIKELY(impl.callTracingActive())) {
6113 Vector<RecordCanvasActionVariant> callTracerParameters;
6114 callTracerParameters.append(mode);
6115 CallTracer::recordCanvasAction(impl, "frontFace"_s, WTFMove(callTracerParameters));
6116 }
6117 impl.frontFace(WTFMove(mode));
6118 return JSValue::encode(jsUndefined());
6119}
6120
6121EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionFrontFace(ExecState* state)
6122{
6123 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionFrontFaceBody>(*state, "frontFace");
6124}
6125
6126#endif
6127
6128#if ENABLE(WEBGL)
6129static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGenerateMipmapBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6130{
6131 UNUSED_PARAM(state);
6132 UNUSED_PARAM(throwScope);
6133 auto& impl = castedThis->wrapped();
6134 if (UNLIKELY(state->argumentCount() < 1))
6135 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6136 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6137 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6138 if (UNLIKELY(impl.callTracingActive())) {
6139 Vector<RecordCanvasActionVariant> callTracerParameters;
6140 callTracerParameters.append(target);
6141 CallTracer::recordCanvasAction(impl, "generateMipmap"_s, WTFMove(callTracerParameters));
6142 }
6143 impl.generateMipmap(WTFMove(target));
6144 return JSValue::encode(jsUndefined());
6145}
6146
6147EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGenerateMipmap(ExecState* state)
6148{
6149 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGenerateMipmapBody>(*state, "generateMipmap");
6150}
6151
6152#endif
6153
6154#if ENABLE(WEBGL)
6155static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetActiveAttribBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6156{
6157 UNUSED_PARAM(state);
6158 UNUSED_PARAM(throwScope);
6159 auto& impl = castedThis->wrapped();
6160 if (UNLIKELY(state->argumentCount() < 2))
6161 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6162 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "getActiveAttrib", "WebGLProgram"); });
6163 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6164 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6165 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6166 if (UNLIKELY(impl.callTracingActive())) {
6167 Vector<RecordCanvasActionVariant> callTracerParameters;
6168 if (program)
6169 callTracerParameters.append(program);
6170 callTracerParameters.append(index);
6171 CallTracer::recordCanvasAction(impl, "getActiveAttrib"_s, WTFMove(callTracerParameters));
6172 }
6173 return JSValue::encode(toJS<IDLInterface<WebGLActiveInfo>>(*state, *castedThis->globalObject(), impl.getActiveAttrib(WTFMove(program), WTFMove(index))));
6174}
6175
6176EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetActiveAttrib(ExecState* state)
6177{
6178 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetActiveAttribBody>(*state, "getActiveAttrib");
6179}
6180
6181#endif
6182
6183#if ENABLE(WEBGL)
6184static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetActiveUniformBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6185{
6186 UNUSED_PARAM(state);
6187 UNUSED_PARAM(throwScope);
6188 auto& impl = castedThis->wrapped();
6189 if (UNLIKELY(state->argumentCount() < 2))
6190 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6191 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "getActiveUniform", "WebGLProgram"); });
6192 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6193 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6194 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6195 if (UNLIKELY(impl.callTracingActive())) {
6196 Vector<RecordCanvasActionVariant> callTracerParameters;
6197 if (program)
6198 callTracerParameters.append(program);
6199 callTracerParameters.append(index);
6200 CallTracer::recordCanvasAction(impl, "getActiveUniform"_s, WTFMove(callTracerParameters));
6201 }
6202 return JSValue::encode(toJS<IDLInterface<WebGLActiveInfo>>(*state, *castedThis->globalObject(), impl.getActiveUniform(WTFMove(program), WTFMove(index))));
6203}
6204
6205EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetActiveUniform(ExecState* state)
6206{
6207 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetActiveUniformBody>(*state, "getActiveUniform");
6208}
6209
6210#endif
6211
6212#if ENABLE(WEBGL)
6213static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetAttachedShadersBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6214{
6215 UNUSED_PARAM(state);
6216 UNUSED_PARAM(throwScope);
6217 auto& impl = castedThis->wrapped();
6218 if (UNLIKELY(state->argumentCount() < 1))
6219 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6220 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "getAttachedShaders", "WebGLProgram"); });
6221 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6222 if (UNLIKELY(impl.callTracingActive())) {
6223 Vector<RecordCanvasActionVariant> callTracerParameters;
6224 if (program)
6225 callTracerParameters.append(program);
6226 CallTracer::recordCanvasAction(impl, "getAttachedShaders"_s, WTFMove(callTracerParameters));
6227 }
6228 return JSValue::encode(toJS<IDLNullable<IDLSequence<IDLInterface<WebGLShader>>>>(*state, *castedThis->globalObject(), impl.getAttachedShaders(WTFMove(program))));
6229}
6230
6231EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetAttachedShaders(ExecState* state)
6232{
6233 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetAttachedShadersBody>(*state, "getAttachedShaders");
6234}
6235
6236#endif
6237
6238#if ENABLE(WEBGL)
6239static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetAttribLocationBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6240{
6241 UNUSED_PARAM(state);
6242 UNUSED_PARAM(throwScope);
6243 auto& impl = castedThis->wrapped();
6244 if (UNLIKELY(state->argumentCount() < 2))
6245 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6246 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "getAttribLocation", "WebGLProgram"); });
6247 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6248 auto name = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
6249 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6250 if (UNLIKELY(impl.callTracingActive())) {
6251 Vector<RecordCanvasActionVariant> callTracerParameters;
6252 if (program)
6253 callTracerParameters.append(program);
6254 callTracerParameters.append(name);
6255 CallTracer::recordCanvasAction(impl, "getAttribLocation"_s, WTFMove(callTracerParameters));
6256 }
6257 return JSValue::encode(toJS<IDLLong>(impl.getAttribLocation(WTFMove(program), WTFMove(name))));
6258}
6259
6260EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetAttribLocation(ExecState* state)
6261{
6262 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetAttribLocationBody>(*state, "getAttribLocation");
6263}
6264
6265#endif
6266
6267#if ENABLE(WEBGL)
6268static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetBufferParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6269{
6270 UNUSED_PARAM(state);
6271 UNUSED_PARAM(throwScope);
6272 auto& impl = castedThis->wrapped();
6273 if (UNLIKELY(state->argumentCount() < 2))
6274 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6275 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6276 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6277 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6278 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6279 if (UNLIKELY(impl.callTracingActive())) {
6280 Vector<RecordCanvasActionVariant> callTracerParameters;
6281 callTracerParameters.append(target);
6282 callTracerParameters.append(pname);
6283 CallTracer::recordCanvasAction(impl, "getBufferParameter"_s, WTFMove(callTracerParameters));
6284 }
6285 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getBufferParameter(WTFMove(target), WTFMove(pname))));
6286}
6287
6288EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetBufferParameter(ExecState* state)
6289{
6290 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetBufferParameterBody>(*state, "getBufferParameter");
6291}
6292
6293#endif
6294
6295#if ENABLE(WEBGL)
6296static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetContextAttributesBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6297{
6298 UNUSED_PARAM(state);
6299 UNUSED_PARAM(throwScope);
6300 auto& impl = castedThis->wrapped();
6301 if (UNLIKELY(impl.callTracingActive()))
6302 CallTracer::recordCanvasAction(impl, "getContextAttributes"_s);
6303 return JSValue::encode(toJS<IDLNullable<IDLDictionary<WebGLContextAttributes>>>(*state, *castedThis->globalObject(), impl.getContextAttributes()));
6304}
6305
6306EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetContextAttributes(ExecState* state)
6307{
6308 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetContextAttributesBody>(*state, "getContextAttributes");
6309}
6310
6311#endif
6312
6313#if ENABLE(WEBGL)
6314static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetErrorBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6315{
6316 UNUSED_PARAM(state);
6317 UNUSED_PARAM(throwScope);
6318 auto& impl = castedThis->wrapped();
6319 if (UNLIKELY(impl.callTracingActive()))
6320 CallTracer::recordCanvasAction(impl, "getError"_s);
6321 return JSValue::encode(toJS<IDLUnsignedLong>(impl.getError()));
6322}
6323
6324EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetError(ExecState* state)
6325{
6326 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetErrorBody>(*state, "getError");
6327}
6328
6329#endif
6330
6331#if ENABLE(WEBGL)
6332static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetSupportedExtensionsBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6333{
6334 UNUSED_PARAM(state);
6335 UNUSED_PARAM(throwScope);
6336 auto& impl = castedThis->wrapped();
6337 if (UNLIKELY(impl.callTracingActive()))
6338 CallTracer::recordCanvasAction(impl, "getSupportedExtensions"_s);
6339 return JSValue::encode(toJS<IDLNullable<IDLSequence<IDLDOMString>>>(*state, *castedThis->globalObject(), impl.getSupportedExtensions()));
6340}
6341
6342EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetSupportedExtensions(ExecState* state)
6343{
6344 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetSupportedExtensionsBody>(*state, "getSupportedExtensions");
6345}
6346
6347#endif
6348
6349#if ENABLE(WEBGL)
6350static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetExtensionBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6351{
6352 UNUSED_PARAM(state);
6353 UNUSED_PARAM(throwScope);
6354 auto& impl = castedThis->wrapped();
6355 if (UNLIKELY(state->argumentCount() < 1))
6356 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6357 auto name = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
6358 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6359 if (UNLIKELY(impl.callTracingActive())) {
6360 Vector<RecordCanvasActionVariant> callTracerParameters;
6361 callTracerParameters.append(name);
6362 CallTracer::recordCanvasAction(impl, "getExtension"_s, WTFMove(callTracerParameters));
6363 }
6364 return JSValue::encode(toJS<IDLNullable<IDLWebGLExtension>>(*state, *castedThis->globalObject(), impl.getExtension(WTFMove(name))));
6365}
6366
6367EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetExtension(ExecState* state)
6368{
6369 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetExtensionBody>(*state, "getExtension");
6370}
6371
6372#endif
6373
6374#if ENABLE(WEBGL)
6375static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetFramebufferAttachmentParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6376{
6377 UNUSED_PARAM(state);
6378 UNUSED_PARAM(throwScope);
6379 auto& impl = castedThis->wrapped();
6380 if (UNLIKELY(state->argumentCount() < 3))
6381 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6382 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6383 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6384 auto attachment = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6385 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6386 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
6387 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6388 if (UNLIKELY(impl.callTracingActive())) {
6389 Vector<RecordCanvasActionVariant> callTracerParameters;
6390 callTracerParameters.append(target);
6391 callTracerParameters.append(attachment);
6392 callTracerParameters.append(pname);
6393 CallTracer::recordCanvasAction(impl, "getFramebufferAttachmentParameter"_s, WTFMove(callTracerParameters));
6394 }
6395 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getFramebufferAttachmentParameter(WTFMove(target), WTFMove(attachment), WTFMove(pname))));
6396}
6397
6398EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetFramebufferAttachmentParameter(ExecState* state)
6399{
6400 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetFramebufferAttachmentParameterBody>(*state, "getFramebufferAttachmentParameter");
6401}
6402
6403#endif
6404
6405#if ENABLE(WEBGL)
6406static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6407{
6408 UNUSED_PARAM(state);
6409 UNUSED_PARAM(throwScope);
6410 auto& impl = castedThis->wrapped();
6411 if (UNLIKELY(state->argumentCount() < 1))
6412 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6413 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6414 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6415 if (UNLIKELY(impl.callTracingActive())) {
6416 Vector<RecordCanvasActionVariant> callTracerParameters;
6417 callTracerParameters.append(pname);
6418 CallTracer::recordCanvasAction(impl, "getParameter"_s, WTFMove(callTracerParameters));
6419 }
6420 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getParameter(WTFMove(pname))));
6421}
6422
6423EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetParameter(ExecState* state)
6424{
6425 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetParameterBody>(*state, "getParameter");
6426}
6427
6428#endif
6429
6430#if ENABLE(WEBGL)
6431static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetProgramParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6432{
6433 UNUSED_PARAM(state);
6434 UNUSED_PARAM(throwScope);
6435 auto& impl = castedThis->wrapped();
6436 if (UNLIKELY(state->argumentCount() < 2))
6437 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6438 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "getProgramParameter", "WebGLProgram"); });
6439 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6440 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6441 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6442 if (UNLIKELY(impl.callTracingActive())) {
6443 Vector<RecordCanvasActionVariant> callTracerParameters;
6444 if (program)
6445 callTracerParameters.append(program);
6446 callTracerParameters.append(pname);
6447 CallTracer::recordCanvasAction(impl, "getProgramParameter"_s, WTFMove(callTracerParameters));
6448 }
6449 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getProgramParameter(WTFMove(program), WTFMove(pname))));
6450}
6451
6452EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetProgramParameter(ExecState* state)
6453{
6454 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetProgramParameterBody>(*state, "getProgramParameter");
6455}
6456
6457#endif
6458
6459#if ENABLE(WEBGL)
6460static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetProgramInfoLogBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6461{
6462 UNUSED_PARAM(state);
6463 UNUSED_PARAM(throwScope);
6464 auto& impl = castedThis->wrapped();
6465 if (UNLIKELY(state->argumentCount() < 1))
6466 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6467 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "getProgramInfoLog", "WebGLProgram"); });
6468 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6469 if (UNLIKELY(impl.callTracingActive())) {
6470 Vector<RecordCanvasActionVariant> callTracerParameters;
6471 if (program)
6472 callTracerParameters.append(program);
6473 CallTracer::recordCanvasAction(impl, "getProgramInfoLog"_s, WTFMove(callTracerParameters));
6474 }
6475 return JSValue::encode(toJS<IDLNullable<IDLDOMString>>(*state, impl.getProgramInfoLog(WTFMove(program))));
6476}
6477
6478EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetProgramInfoLog(ExecState* state)
6479{
6480 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetProgramInfoLogBody>(*state, "getProgramInfoLog");
6481}
6482
6483#endif
6484
6485#if ENABLE(WEBGL)
6486static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetRenderbufferParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6487{
6488 UNUSED_PARAM(state);
6489 UNUSED_PARAM(throwScope);
6490 auto& impl = castedThis->wrapped();
6491 if (UNLIKELY(state->argumentCount() < 2))
6492 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6493 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6494 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6495 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6496 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6497 if (UNLIKELY(impl.callTracingActive())) {
6498 Vector<RecordCanvasActionVariant> callTracerParameters;
6499 callTracerParameters.append(target);
6500 callTracerParameters.append(pname);
6501 CallTracer::recordCanvasAction(impl, "getRenderbufferParameter"_s, WTFMove(callTracerParameters));
6502 }
6503 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getRenderbufferParameter(WTFMove(target), WTFMove(pname))));
6504}
6505
6506EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetRenderbufferParameter(ExecState* state)
6507{
6508 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetRenderbufferParameterBody>(*state, "getRenderbufferParameter");
6509}
6510
6511#endif
6512
6513#if ENABLE(WEBGL)
6514static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetShaderParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6515{
6516 UNUSED_PARAM(state);
6517 UNUSED_PARAM(throwScope);
6518 auto& impl = castedThis->wrapped();
6519 if (UNLIKELY(state->argumentCount() < 2))
6520 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6521 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGLRenderingContext", "getShaderParameter", "WebGLShader"); });
6522 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6523 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6524 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6525 if (UNLIKELY(impl.callTracingActive())) {
6526 Vector<RecordCanvasActionVariant> callTracerParameters;
6527 if (shader)
6528 callTracerParameters.append(shader);
6529 callTracerParameters.append(pname);
6530 CallTracer::recordCanvasAction(impl, "getShaderParameter"_s, WTFMove(callTracerParameters));
6531 }
6532 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getShaderParameter(WTFMove(shader), WTFMove(pname))));
6533}
6534
6535EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetShaderParameter(ExecState* state)
6536{
6537 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetShaderParameterBody>(*state, "getShaderParameter");
6538}
6539
6540#endif
6541
6542#if ENABLE(WEBGL)
6543static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetShaderInfoLogBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6544{
6545 UNUSED_PARAM(state);
6546 UNUSED_PARAM(throwScope);
6547 auto& impl = castedThis->wrapped();
6548 if (UNLIKELY(state->argumentCount() < 1))
6549 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6550 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGLRenderingContext", "getShaderInfoLog", "WebGLShader"); });
6551 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6552 if (UNLIKELY(impl.callTracingActive())) {
6553 Vector<RecordCanvasActionVariant> callTracerParameters;
6554 if (shader)
6555 callTracerParameters.append(shader);
6556 CallTracer::recordCanvasAction(impl, "getShaderInfoLog"_s, WTFMove(callTracerParameters));
6557 }
6558 return JSValue::encode(toJS<IDLNullable<IDLDOMString>>(*state, impl.getShaderInfoLog(WTFMove(shader))));
6559}
6560
6561EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetShaderInfoLog(ExecState* state)
6562{
6563 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetShaderInfoLogBody>(*state, "getShaderInfoLog");
6564}
6565
6566#endif
6567
6568#if ENABLE(WEBGL)
6569static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetShaderPrecisionFormatBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6570{
6571 UNUSED_PARAM(state);
6572 UNUSED_PARAM(throwScope);
6573 auto& impl = castedThis->wrapped();
6574 if (UNLIKELY(state->argumentCount() < 2))
6575 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6576 auto shadertype = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6577 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6578 auto precisiontype = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6579 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6580 if (UNLIKELY(impl.callTracingActive())) {
6581 Vector<RecordCanvasActionVariant> callTracerParameters;
6582 callTracerParameters.append(shadertype);
6583 callTracerParameters.append(precisiontype);
6584 CallTracer::recordCanvasAction(impl, "getShaderPrecisionFormat"_s, WTFMove(callTracerParameters));
6585 }
6586 return JSValue::encode(toJS<IDLInterface<WebGLShaderPrecisionFormat>>(*state, *castedThis->globalObject(), impl.getShaderPrecisionFormat(WTFMove(shadertype), WTFMove(precisiontype))));
6587}
6588
6589EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetShaderPrecisionFormat(ExecState* state)
6590{
6591 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetShaderPrecisionFormatBody>(*state, "getShaderPrecisionFormat");
6592}
6593
6594#endif
6595
6596#if ENABLE(WEBGL)
6597static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetShaderSourceBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6598{
6599 UNUSED_PARAM(state);
6600 UNUSED_PARAM(throwScope);
6601 auto& impl = castedThis->wrapped();
6602 if (UNLIKELY(state->argumentCount() < 1))
6603 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6604 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGLRenderingContext", "getShaderSource", "WebGLShader"); });
6605 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6606 if (UNLIKELY(impl.callTracingActive())) {
6607 Vector<RecordCanvasActionVariant> callTracerParameters;
6608 if (shader)
6609 callTracerParameters.append(shader);
6610 CallTracer::recordCanvasAction(impl, "getShaderSource"_s, WTFMove(callTracerParameters));
6611 }
6612 return JSValue::encode(toJS<IDLNullable<IDLDOMString>>(*state, impl.getShaderSource(WTFMove(shader))));
6613}
6614
6615EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetShaderSource(ExecState* state)
6616{
6617 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetShaderSourceBody>(*state, "getShaderSource");
6618}
6619
6620#endif
6621
6622#if ENABLE(WEBGL)
6623static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetTexParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6624{
6625 UNUSED_PARAM(state);
6626 UNUSED_PARAM(throwScope);
6627 auto& impl = castedThis->wrapped();
6628 if (UNLIKELY(state->argumentCount() < 2))
6629 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6630 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6631 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6632 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6633 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6634 if (UNLIKELY(impl.callTracingActive())) {
6635 Vector<RecordCanvasActionVariant> callTracerParameters;
6636 callTracerParameters.append(target);
6637 callTracerParameters.append(pname);
6638 CallTracer::recordCanvasAction(impl, "getTexParameter"_s, WTFMove(callTracerParameters));
6639 }
6640 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getTexParameter(WTFMove(target), WTFMove(pname))));
6641}
6642
6643EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetTexParameter(ExecState* state)
6644{
6645 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetTexParameterBody>(*state, "getTexParameter");
6646}
6647
6648#endif
6649
6650#if ENABLE(WEBGL)
6651static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetUniformBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6652{
6653 UNUSED_PARAM(state);
6654 UNUSED_PARAM(throwScope);
6655 auto& impl = castedThis->wrapped();
6656 if (UNLIKELY(state->argumentCount() < 2))
6657 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6658 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "getUniform", "WebGLProgram"); });
6659 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6660 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "location", "WebGLRenderingContext", "getUniform", "WebGLUniformLocation"); });
6661 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6662 if (UNLIKELY(impl.callTracingActive())) {
6663 Vector<RecordCanvasActionVariant> callTracerParameters;
6664 if (program)
6665 callTracerParameters.append(program);
6666 if (location)
6667 callTracerParameters.append(location);
6668 CallTracer::recordCanvasAction(impl, "getUniform"_s, WTFMove(callTracerParameters));
6669 }
6670 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getUniform(WTFMove(program), WTFMove(location))));
6671}
6672
6673EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetUniform(ExecState* state)
6674{
6675 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetUniformBody>(*state, "getUniform");
6676}
6677
6678#endif
6679
6680#if ENABLE(WEBGL)
6681static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetUniformLocationBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6682{
6683 UNUSED_PARAM(state);
6684 UNUSED_PARAM(throwScope);
6685 auto& impl = castedThis->wrapped();
6686 if (UNLIKELY(state->argumentCount() < 2))
6687 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6688 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "getUniformLocation", "WebGLProgram"); });
6689 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6690 auto name = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
6691 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6692 if (UNLIKELY(impl.callTracingActive())) {
6693 Vector<RecordCanvasActionVariant> callTracerParameters;
6694 if (program)
6695 callTracerParameters.append(program);
6696 callTracerParameters.append(name);
6697 CallTracer::recordCanvasAction(impl, "getUniformLocation"_s, WTFMove(callTracerParameters));
6698 }
6699 return JSValue::encode(toJS<IDLInterface<WebGLUniformLocation>>(*state, *castedThis->globalObject(), impl.getUniformLocation(WTFMove(program), WTFMove(name))));
6700}
6701
6702EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetUniformLocation(ExecState* state)
6703{
6704 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetUniformLocationBody>(*state, "getUniformLocation");
6705}
6706
6707#endif
6708
6709#if ENABLE(WEBGL)
6710static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetVertexAttribBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6711{
6712 UNUSED_PARAM(state);
6713 UNUSED_PARAM(throwScope);
6714 auto& impl = castedThis->wrapped();
6715 if (UNLIKELY(state->argumentCount() < 2))
6716 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6717 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6718 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6719 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6720 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6721 if (UNLIKELY(impl.callTracingActive())) {
6722 Vector<RecordCanvasActionVariant> callTracerParameters;
6723 callTracerParameters.append(index);
6724 callTracerParameters.append(pname);
6725 CallTracer::recordCanvasAction(impl, "getVertexAttrib"_s, WTFMove(callTracerParameters));
6726 }
6727 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getVertexAttrib(WTFMove(index), WTFMove(pname))));
6728}
6729
6730EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetVertexAttrib(ExecState* state)
6731{
6732 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetVertexAttribBody>(*state, "getVertexAttrib");
6733}
6734
6735#endif
6736
6737#if ENABLE(WEBGL)
6738static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionGetVertexAttribOffsetBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6739{
6740 UNUSED_PARAM(state);
6741 UNUSED_PARAM(throwScope);
6742 auto& impl = castedThis->wrapped();
6743 if (UNLIKELY(state->argumentCount() < 2))
6744 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6745 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6746 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6747 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6748 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6749 if (UNLIKELY(impl.callTracingActive())) {
6750 Vector<RecordCanvasActionVariant> callTracerParameters;
6751 callTracerParameters.append(index);
6752 callTracerParameters.append(pname);
6753 CallTracer::recordCanvasAction(impl, "getVertexAttribOffset"_s, WTFMove(callTracerParameters));
6754 }
6755 return JSValue::encode(toJS<IDLLongLong>(impl.getVertexAttribOffset(WTFMove(index), WTFMove(pname))));
6756}
6757
6758EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionGetVertexAttribOffset(ExecState* state)
6759{
6760 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionGetVertexAttribOffsetBody>(*state, "getVertexAttribOffset");
6761}
6762
6763#endif
6764
6765#if ENABLE(WEBGL)
6766static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionHintBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6767{
6768 UNUSED_PARAM(state);
6769 UNUSED_PARAM(throwScope);
6770 auto& impl = castedThis->wrapped();
6771 if (UNLIKELY(state->argumentCount() < 2))
6772 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6773 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6774 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6775 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6776 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6777 if (UNLIKELY(impl.callTracingActive())) {
6778 Vector<RecordCanvasActionVariant> callTracerParameters;
6779 callTracerParameters.append(target);
6780 callTracerParameters.append(mode);
6781 CallTracer::recordCanvasAction(impl, "hint"_s, WTFMove(callTracerParameters));
6782 }
6783 impl.hint(WTFMove(target), WTFMove(mode));
6784 return JSValue::encode(jsUndefined());
6785}
6786
6787EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionHint(ExecState* state)
6788{
6789 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionHintBody>(*state, "hint");
6790}
6791
6792#endif
6793
6794#if ENABLE(WEBGL)
6795static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionIsBufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6796{
6797 UNUSED_PARAM(state);
6798 UNUSED_PARAM(throwScope);
6799 auto& impl = castedThis->wrapped();
6800 if (UNLIKELY(state->argumentCount() < 1))
6801 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6802 auto buffer = convert<IDLNullable<IDLInterface<WebGLBuffer>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "buffer", "WebGLRenderingContext", "isBuffer", "WebGLBuffer"); });
6803 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6804 if (UNLIKELY(impl.callTracingActive())) {
6805 Vector<RecordCanvasActionVariant> callTracerParameters;
6806 if (buffer)
6807 callTracerParameters.append(buffer);
6808 CallTracer::recordCanvasAction(impl, "isBuffer"_s, WTFMove(callTracerParameters));
6809 }
6810 return JSValue::encode(toJS<IDLBoolean>(impl.isBuffer(WTFMove(buffer))));
6811}
6812
6813EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsBuffer(ExecState* state)
6814{
6815 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionIsBufferBody>(*state, "isBuffer");
6816}
6817
6818#endif
6819
6820#if ENABLE(WEBGL)
6821static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionIsContextLostBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6822{
6823 UNUSED_PARAM(state);
6824 UNUSED_PARAM(throwScope);
6825 auto& impl = castedThis->wrapped();
6826 if (UNLIKELY(impl.callTracingActive()))
6827 CallTracer::recordCanvasAction(impl, "isContextLost"_s);
6828 return JSValue::encode(toJS<IDLBoolean>(impl.isContextLost()));
6829}
6830
6831EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsContextLost(ExecState* state)
6832{
6833 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionIsContextLostBody>(*state, "isContextLost");
6834}
6835
6836#endif
6837
6838#if ENABLE(WEBGL)
6839static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionIsEnabledBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6840{
6841 UNUSED_PARAM(state);
6842 UNUSED_PARAM(throwScope);
6843 auto& impl = castedThis->wrapped();
6844 if (UNLIKELY(state->argumentCount() < 1))
6845 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6846 auto cap = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6847 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6848 if (UNLIKELY(impl.callTracingActive())) {
6849 Vector<RecordCanvasActionVariant> callTracerParameters;
6850 callTracerParameters.append(cap);
6851 CallTracer::recordCanvasAction(impl, "isEnabled"_s, WTFMove(callTracerParameters));
6852 }
6853 return JSValue::encode(toJS<IDLBoolean>(impl.isEnabled(WTFMove(cap))));
6854}
6855
6856EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsEnabled(ExecState* state)
6857{
6858 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionIsEnabledBody>(*state, "isEnabled");
6859}
6860
6861#endif
6862
6863#if ENABLE(WEBGL)
6864static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionIsFramebufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6865{
6866 UNUSED_PARAM(state);
6867 UNUSED_PARAM(throwScope);
6868 auto& impl = castedThis->wrapped();
6869 if (UNLIKELY(state->argumentCount() < 1))
6870 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6871 auto framebuffer = convert<IDLNullable<IDLInterface<WebGLFramebuffer>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "framebuffer", "WebGLRenderingContext", "isFramebuffer", "WebGLFramebuffer"); });
6872 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6873 if (UNLIKELY(impl.callTracingActive())) {
6874 Vector<RecordCanvasActionVariant> callTracerParameters;
6875 if (framebuffer)
6876 callTracerParameters.append(framebuffer);
6877 CallTracer::recordCanvasAction(impl, "isFramebuffer"_s, WTFMove(callTracerParameters));
6878 }
6879 return JSValue::encode(toJS<IDLBoolean>(impl.isFramebuffer(WTFMove(framebuffer))));
6880}
6881
6882EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsFramebuffer(ExecState* state)
6883{
6884 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionIsFramebufferBody>(*state, "isFramebuffer");
6885}
6886
6887#endif
6888
6889#if ENABLE(WEBGL)
6890static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionIsProgramBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6891{
6892 UNUSED_PARAM(state);
6893 UNUSED_PARAM(throwScope);
6894 auto& impl = castedThis->wrapped();
6895 if (UNLIKELY(state->argumentCount() < 1))
6896 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6897 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "isProgram", "WebGLProgram"); });
6898 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6899 if (UNLIKELY(impl.callTracingActive())) {
6900 Vector<RecordCanvasActionVariant> callTracerParameters;
6901 if (program)
6902 callTracerParameters.append(program);
6903 CallTracer::recordCanvasAction(impl, "isProgram"_s, WTFMove(callTracerParameters));
6904 }
6905 return JSValue::encode(toJS<IDLBoolean>(impl.isProgram(WTFMove(program))));
6906}
6907
6908EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsProgram(ExecState* state)
6909{
6910 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionIsProgramBody>(*state, "isProgram");
6911}
6912
6913#endif
6914
6915#if ENABLE(WEBGL)
6916static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionIsRenderbufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6917{
6918 UNUSED_PARAM(state);
6919 UNUSED_PARAM(throwScope);
6920 auto& impl = castedThis->wrapped();
6921 if (UNLIKELY(state->argumentCount() < 1))
6922 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6923 auto renderbuffer = convert<IDLNullable<IDLInterface<WebGLRenderbuffer>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "renderbuffer", "WebGLRenderingContext", "isRenderbuffer", "WebGLRenderbuffer"); });
6924 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6925 if (UNLIKELY(impl.callTracingActive())) {
6926 Vector<RecordCanvasActionVariant> callTracerParameters;
6927 if (renderbuffer)
6928 callTracerParameters.append(renderbuffer);
6929 CallTracer::recordCanvasAction(impl, "isRenderbuffer"_s, WTFMove(callTracerParameters));
6930 }
6931 return JSValue::encode(toJS<IDLBoolean>(impl.isRenderbuffer(WTFMove(renderbuffer))));
6932}
6933
6934EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsRenderbuffer(ExecState* state)
6935{
6936 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionIsRenderbufferBody>(*state, "isRenderbuffer");
6937}
6938
6939#endif
6940
6941#if ENABLE(WEBGL)
6942static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionIsShaderBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6943{
6944 UNUSED_PARAM(state);
6945 UNUSED_PARAM(throwScope);
6946 auto& impl = castedThis->wrapped();
6947 if (UNLIKELY(state->argumentCount() < 1))
6948 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6949 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGLRenderingContext", "isShader", "WebGLShader"); });
6950 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6951 if (UNLIKELY(impl.callTracingActive())) {
6952 Vector<RecordCanvasActionVariant> callTracerParameters;
6953 if (shader)
6954 callTracerParameters.append(shader);
6955 CallTracer::recordCanvasAction(impl, "isShader"_s, WTFMove(callTracerParameters));
6956 }
6957 return JSValue::encode(toJS<IDLBoolean>(impl.isShader(WTFMove(shader))));
6958}
6959
6960EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsShader(ExecState* state)
6961{
6962 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionIsShaderBody>(*state, "isShader");
6963}
6964
6965#endif
6966
6967#if ENABLE(WEBGL)
6968static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionIsTextureBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6969{
6970 UNUSED_PARAM(state);
6971 UNUSED_PARAM(throwScope);
6972 auto& impl = castedThis->wrapped();
6973 if (UNLIKELY(state->argumentCount() < 1))
6974 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6975 auto texture = convert<IDLNullable<IDLInterface<WebGLTexture>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "texture", "WebGLRenderingContext", "isTexture", "WebGLTexture"); });
6976 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6977 if (UNLIKELY(impl.callTracingActive())) {
6978 Vector<RecordCanvasActionVariant> callTracerParameters;
6979 if (texture)
6980 callTracerParameters.append(texture);
6981 CallTracer::recordCanvasAction(impl, "isTexture"_s, WTFMove(callTracerParameters));
6982 }
6983 return JSValue::encode(toJS<IDLBoolean>(impl.isTexture(WTFMove(texture))));
6984}
6985
6986EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionIsTexture(ExecState* state)
6987{
6988 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionIsTextureBody>(*state, "isTexture");
6989}
6990
6991#endif
6992
6993#if ENABLE(WEBGL)
6994static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionLineWidthBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6995{
6996 UNUSED_PARAM(state);
6997 UNUSED_PARAM(throwScope);
6998 auto& impl = castedThis->wrapped();
6999 if (UNLIKELY(state->argumentCount() < 1))
7000 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7001 auto width = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
7002 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7003 if (UNLIKELY(impl.callTracingActive())) {
7004 Vector<RecordCanvasActionVariant> callTracerParameters;
7005 callTracerParameters.append(width);
7006 CallTracer::recordCanvasAction(impl, "lineWidth"_s, WTFMove(callTracerParameters));
7007 }
7008 impl.lineWidth(WTFMove(width));
7009 return JSValue::encode(jsUndefined());
7010}
7011
7012EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionLineWidth(ExecState* state)
7013{
7014 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionLineWidthBody>(*state, "lineWidth");
7015}
7016
7017#endif
7018
7019#if ENABLE(WEBGL)
7020static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionLinkProgramBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7021{
7022 UNUSED_PARAM(state);
7023 UNUSED_PARAM(throwScope);
7024 auto& impl = castedThis->wrapped();
7025 if (UNLIKELY(state->argumentCount() < 1))
7026 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7027 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "linkProgram", "WebGLProgram"); });
7028 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7029 if (UNLIKELY(impl.callTracingActive())) {
7030 Vector<RecordCanvasActionVariant> callTracerParameters;
7031 if (program)
7032 callTracerParameters.append(program);
7033 CallTracer::recordCanvasAction(impl, "linkProgram"_s, WTFMove(callTracerParameters));
7034 }
7035 impl.linkProgram(WTFMove(program));
7036 return JSValue::encode(jsUndefined());
7037}
7038
7039EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionLinkProgram(ExecState* state)
7040{
7041 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionLinkProgramBody>(*state, "linkProgram");
7042}
7043
7044#endif
7045
7046#if ENABLE(WEBGL)
7047static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionPixelStoreiBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7048{
7049 UNUSED_PARAM(state);
7050 UNUSED_PARAM(throwScope);
7051 auto& impl = castedThis->wrapped();
7052 if (UNLIKELY(state->argumentCount() < 2))
7053 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7054 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7055 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7056 auto param = convert<IDLLong>(*state, state->uncheckedArgument(1));
7057 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7058 if (UNLIKELY(impl.callTracingActive())) {
7059 Vector<RecordCanvasActionVariant> callTracerParameters;
7060 callTracerParameters.append(pname);
7061 callTracerParameters.append(param);
7062 CallTracer::recordCanvasAction(impl, "pixelStorei"_s, WTFMove(callTracerParameters));
7063 }
7064 impl.pixelStorei(WTFMove(pname), WTFMove(param));
7065 return JSValue::encode(jsUndefined());
7066}
7067
7068EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionPixelStorei(ExecState* state)
7069{
7070 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionPixelStoreiBody>(*state, "pixelStorei");
7071}
7072
7073#endif
7074
7075#if ENABLE(WEBGL)
7076static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionPolygonOffsetBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7077{
7078 UNUSED_PARAM(state);
7079 UNUSED_PARAM(throwScope);
7080 auto& impl = castedThis->wrapped();
7081 if (UNLIKELY(state->argumentCount() < 2))
7082 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7083 auto factor = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
7084 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7085 auto units = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
7086 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7087 if (UNLIKELY(impl.callTracingActive())) {
7088 Vector<RecordCanvasActionVariant> callTracerParameters;
7089 callTracerParameters.append(factor);
7090 callTracerParameters.append(units);
7091 CallTracer::recordCanvasAction(impl, "polygonOffset"_s, WTFMove(callTracerParameters));
7092 }
7093 impl.polygonOffset(WTFMove(factor), WTFMove(units));
7094 return JSValue::encode(jsUndefined());
7095}
7096
7097EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionPolygonOffset(ExecState* state)
7098{
7099 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionPolygonOffsetBody>(*state, "polygonOffset");
7100}
7101
7102#endif
7103
7104#if ENABLE(WEBGL)
7105static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionReadPixelsBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7106{
7107 UNUSED_PARAM(state);
7108 UNUSED_PARAM(throwScope);
7109 auto& impl = castedThis->wrapped();
7110 if (UNLIKELY(state->argumentCount() < 7))
7111 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7112 auto x = convert<IDLLong>(*state, state->uncheckedArgument(0));
7113 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7114 auto y = convert<IDLLong>(*state, state->uncheckedArgument(1));
7115 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7116 auto width = convert<IDLLong>(*state, state->uncheckedArgument(2));
7117 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7118 auto height = convert<IDLLong>(*state, state->uncheckedArgument(3));
7119 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7120 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(4));
7121 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7122 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(5));
7123 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7124 auto pixels = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(6), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 6, "pixels", "WebGLRenderingContext", "readPixels", "ArrayBufferView"); });
7125 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7126 if (UNLIKELY(impl.callTracingActive())) {
7127 Vector<RecordCanvasActionVariant> callTracerParameters;
7128 callTracerParameters.append(x);
7129 callTracerParameters.append(y);
7130 callTracerParameters.append(width);
7131 callTracerParameters.append(height);
7132 callTracerParameters.append(format);
7133 callTracerParameters.append(type);
7134 callTracerParameters.append(pixels);
7135 CallTracer::recordCanvasAction(impl, "readPixels"_s, WTFMove(callTracerParameters));
7136 }
7137 impl.readPixels(WTFMove(x), WTFMove(y), WTFMove(width), WTFMove(height), WTFMove(format), WTFMove(type), pixels.releaseNonNull());
7138 return JSValue::encode(jsUndefined());
7139}
7140
7141EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionReadPixels(ExecState* state)
7142{
7143 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionReadPixelsBody>(*state, "readPixels");
7144}
7145
7146#endif
7147
7148#if ENABLE(WEBGL)
7149static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionReleaseShaderCompilerBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7150{
7151 UNUSED_PARAM(state);
7152 UNUSED_PARAM(throwScope);
7153 auto& impl = castedThis->wrapped();
7154 if (UNLIKELY(impl.callTracingActive()))
7155 CallTracer::recordCanvasAction(impl, "releaseShaderCompiler"_s);
7156 impl.releaseShaderCompiler();
7157 return JSValue::encode(jsUndefined());
7158}
7159
7160EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionReleaseShaderCompiler(ExecState* state)
7161{
7162 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionReleaseShaderCompilerBody>(*state, "releaseShaderCompiler");
7163}
7164
7165#endif
7166
7167#if ENABLE(WEBGL)
7168static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionRenderbufferStorageBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7169{
7170 UNUSED_PARAM(state);
7171 UNUSED_PARAM(throwScope);
7172 auto& impl = castedThis->wrapped();
7173 if (UNLIKELY(state->argumentCount() < 4))
7174 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7175 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7176 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7177 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7178 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7179 auto width = convert<IDLLong>(*state, state->uncheckedArgument(2));
7180 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7181 auto height = convert<IDLLong>(*state, state->uncheckedArgument(3));
7182 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7183 if (UNLIKELY(impl.callTracingActive())) {
7184 Vector<RecordCanvasActionVariant> callTracerParameters;
7185 callTracerParameters.append(target);
7186 callTracerParameters.append(internalformat);
7187 callTracerParameters.append(width);
7188 callTracerParameters.append(height);
7189 CallTracer::recordCanvasAction(impl, "renderbufferStorage"_s, WTFMove(callTracerParameters));
7190 }
7191 impl.renderbufferStorage(WTFMove(target), WTFMove(internalformat), WTFMove(width), WTFMove(height));
7192 return JSValue::encode(jsUndefined());
7193}
7194
7195EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionRenderbufferStorage(ExecState* state)
7196{
7197 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionRenderbufferStorageBody>(*state, "renderbufferStorage");
7198}
7199
7200#endif
7201
7202#if ENABLE(WEBGL)
7203static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionSampleCoverageBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7204{
7205 UNUSED_PARAM(state);
7206 UNUSED_PARAM(throwScope);
7207 auto& impl = castedThis->wrapped();
7208 if (UNLIKELY(state->argumentCount() < 2))
7209 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7210 auto value = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
7211 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7212 auto invert = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
7213 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7214 if (UNLIKELY(impl.callTracingActive())) {
7215 Vector<RecordCanvasActionVariant> callTracerParameters;
7216 callTracerParameters.append(value);
7217 callTracerParameters.append(invert);
7218 CallTracer::recordCanvasAction(impl, "sampleCoverage"_s, WTFMove(callTracerParameters));
7219 }
7220 impl.sampleCoverage(WTFMove(value), WTFMove(invert));
7221 return JSValue::encode(jsUndefined());
7222}
7223
7224EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionSampleCoverage(ExecState* state)
7225{
7226 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionSampleCoverageBody>(*state, "sampleCoverage");
7227}
7228
7229#endif
7230
7231#if ENABLE(WEBGL)
7232static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionScissorBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7233{
7234 UNUSED_PARAM(state);
7235 UNUSED_PARAM(throwScope);
7236 auto& impl = castedThis->wrapped();
7237 if (UNLIKELY(state->argumentCount() < 4))
7238 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7239 auto x = convert<IDLLong>(*state, state->uncheckedArgument(0));
7240 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7241 auto y = convert<IDLLong>(*state, state->uncheckedArgument(1));
7242 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7243 auto width = convert<IDLLong>(*state, state->uncheckedArgument(2));
7244 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7245 auto height = convert<IDLLong>(*state, state->uncheckedArgument(3));
7246 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7247 if (UNLIKELY(impl.callTracingActive())) {
7248 Vector<RecordCanvasActionVariant> callTracerParameters;
7249 callTracerParameters.append(x);
7250 callTracerParameters.append(y);
7251 callTracerParameters.append(width);
7252 callTracerParameters.append(height);
7253 CallTracer::recordCanvasAction(impl, "scissor"_s, WTFMove(callTracerParameters));
7254 }
7255 impl.scissor(WTFMove(x), WTFMove(y), WTFMove(width), WTFMove(height));
7256 return JSValue::encode(jsUndefined());
7257}
7258
7259EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionScissor(ExecState* state)
7260{
7261 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionScissorBody>(*state, "scissor");
7262}
7263
7264#endif
7265
7266#if ENABLE(WEBGL)
7267static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionShaderSourceBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7268{
7269 UNUSED_PARAM(state);
7270 UNUSED_PARAM(throwScope);
7271 auto& impl = castedThis->wrapped();
7272 if (UNLIKELY(state->argumentCount() < 2))
7273 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7274 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGLRenderingContext", "shaderSource", "WebGLShader"); });
7275 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7276 auto string = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
7277 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7278 if (UNLIKELY(impl.callTracingActive())) {
7279 Vector<RecordCanvasActionVariant> callTracerParameters;
7280 if (shader)
7281 callTracerParameters.append(shader);
7282 callTracerParameters.append(string);
7283 CallTracer::recordCanvasAction(impl, "shaderSource"_s, WTFMove(callTracerParameters));
7284 }
7285 impl.shaderSource(WTFMove(shader), WTFMove(string));
7286 return JSValue::encode(jsUndefined());
7287}
7288
7289EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionShaderSource(ExecState* state)
7290{
7291 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionShaderSourceBody>(*state, "shaderSource");
7292}
7293
7294#endif
7295
7296#if ENABLE(WEBGL)
7297static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionStencilFuncBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7298{
7299 UNUSED_PARAM(state);
7300 UNUSED_PARAM(throwScope);
7301 auto& impl = castedThis->wrapped();
7302 if (UNLIKELY(state->argumentCount() < 3))
7303 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7304 auto func = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7305 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7306 auto ref = convert<IDLLong>(*state, state->uncheckedArgument(1));
7307 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7308 auto mask = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
7309 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7310 if (UNLIKELY(impl.callTracingActive())) {
7311 Vector<RecordCanvasActionVariant> callTracerParameters;
7312 callTracerParameters.append(func);
7313 callTracerParameters.append(ref);
7314 callTracerParameters.append(mask);
7315 CallTracer::recordCanvasAction(impl, "stencilFunc"_s, WTFMove(callTracerParameters));
7316 }
7317 impl.stencilFunc(WTFMove(func), WTFMove(ref), WTFMove(mask));
7318 return JSValue::encode(jsUndefined());
7319}
7320
7321EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilFunc(ExecState* state)
7322{
7323 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionStencilFuncBody>(*state, "stencilFunc");
7324}
7325
7326#endif
7327
7328#if ENABLE(WEBGL)
7329static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionStencilFuncSeparateBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7330{
7331 UNUSED_PARAM(state);
7332 UNUSED_PARAM(throwScope);
7333 auto& impl = castedThis->wrapped();
7334 if (UNLIKELY(state->argumentCount() < 4))
7335 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7336 auto face = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7337 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7338 auto func = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7339 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7340 auto ref = convert<IDLLong>(*state, state->uncheckedArgument(2));
7341 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7342 auto mask = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(3));
7343 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7344 if (UNLIKELY(impl.callTracingActive())) {
7345 Vector<RecordCanvasActionVariant> callTracerParameters;
7346 callTracerParameters.append(face);
7347 callTracerParameters.append(func);
7348 callTracerParameters.append(ref);
7349 callTracerParameters.append(mask);
7350 CallTracer::recordCanvasAction(impl, "stencilFuncSeparate"_s, WTFMove(callTracerParameters));
7351 }
7352 impl.stencilFuncSeparate(WTFMove(face), WTFMove(func), WTFMove(ref), WTFMove(mask));
7353 return JSValue::encode(jsUndefined());
7354}
7355
7356EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilFuncSeparate(ExecState* state)
7357{
7358 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionStencilFuncSeparateBody>(*state, "stencilFuncSeparate");
7359}
7360
7361#endif
7362
7363#if ENABLE(WEBGL)
7364static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionStencilMaskBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7365{
7366 UNUSED_PARAM(state);
7367 UNUSED_PARAM(throwScope);
7368 auto& impl = castedThis->wrapped();
7369 if (UNLIKELY(state->argumentCount() < 1))
7370 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7371 auto mask = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7372 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7373 if (UNLIKELY(impl.callTracingActive())) {
7374 Vector<RecordCanvasActionVariant> callTracerParameters;
7375 callTracerParameters.append(mask);
7376 CallTracer::recordCanvasAction(impl, "stencilMask"_s, WTFMove(callTracerParameters));
7377 }
7378 impl.stencilMask(WTFMove(mask));
7379 return JSValue::encode(jsUndefined());
7380}
7381
7382EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilMask(ExecState* state)
7383{
7384 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionStencilMaskBody>(*state, "stencilMask");
7385}
7386
7387#endif
7388
7389#if ENABLE(WEBGL)
7390static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionStencilMaskSeparateBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7391{
7392 UNUSED_PARAM(state);
7393 UNUSED_PARAM(throwScope);
7394 auto& impl = castedThis->wrapped();
7395 if (UNLIKELY(state->argumentCount() < 2))
7396 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7397 auto face = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7398 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7399 auto mask = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7400 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7401 if (UNLIKELY(impl.callTracingActive())) {
7402 Vector<RecordCanvasActionVariant> callTracerParameters;
7403 callTracerParameters.append(face);
7404 callTracerParameters.append(mask);
7405 CallTracer::recordCanvasAction(impl, "stencilMaskSeparate"_s, WTFMove(callTracerParameters));
7406 }
7407 impl.stencilMaskSeparate(WTFMove(face), WTFMove(mask));
7408 return JSValue::encode(jsUndefined());
7409}
7410
7411EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilMaskSeparate(ExecState* state)
7412{
7413 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionStencilMaskSeparateBody>(*state, "stencilMaskSeparate");
7414}
7415
7416#endif
7417
7418#if ENABLE(WEBGL)
7419static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionStencilOpBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7420{
7421 UNUSED_PARAM(state);
7422 UNUSED_PARAM(throwScope);
7423 auto& impl = castedThis->wrapped();
7424 if (UNLIKELY(state->argumentCount() < 3))
7425 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7426 auto fail = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7427 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7428 auto zfail = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7429 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7430 auto zpass = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
7431 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7432 if (UNLIKELY(impl.callTracingActive())) {
7433 Vector<RecordCanvasActionVariant> callTracerParameters;
7434 callTracerParameters.append(fail);
7435 callTracerParameters.append(zfail);
7436 callTracerParameters.append(zpass);
7437 CallTracer::recordCanvasAction(impl, "stencilOp"_s, WTFMove(callTracerParameters));
7438 }
7439 impl.stencilOp(WTFMove(fail), WTFMove(zfail), WTFMove(zpass));
7440 return JSValue::encode(jsUndefined());
7441}
7442
7443EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilOp(ExecState* state)
7444{
7445 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionStencilOpBody>(*state, "stencilOp");
7446}
7447
7448#endif
7449
7450#if ENABLE(WEBGL)
7451static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionStencilOpSeparateBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7452{
7453 UNUSED_PARAM(state);
7454 UNUSED_PARAM(throwScope);
7455 auto& impl = castedThis->wrapped();
7456 if (UNLIKELY(state->argumentCount() < 4))
7457 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7458 auto face = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7459 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7460 auto fail = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7461 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7462 auto zfail = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
7463 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7464 auto zpass = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(3));
7465 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7466 if (UNLIKELY(impl.callTracingActive())) {
7467 Vector<RecordCanvasActionVariant> callTracerParameters;
7468 callTracerParameters.append(face);
7469 callTracerParameters.append(fail);
7470 callTracerParameters.append(zfail);
7471 callTracerParameters.append(zpass);
7472 CallTracer::recordCanvasAction(impl, "stencilOpSeparate"_s, WTFMove(callTracerParameters));
7473 }
7474 impl.stencilOpSeparate(WTFMove(face), WTFMove(fail), WTFMove(zfail), WTFMove(zpass));
7475 return JSValue::encode(jsUndefined());
7476}
7477
7478EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionStencilOpSeparate(ExecState* state)
7479{
7480 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionStencilOpSeparateBody>(*state, "stencilOpSeparate");
7481}
7482
7483#endif
7484
7485#if ENABLE(WEBGL)
7486static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionTexParameterfBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7487{
7488 UNUSED_PARAM(state);
7489 UNUSED_PARAM(throwScope);
7490 auto& impl = castedThis->wrapped();
7491 if (UNLIKELY(state->argumentCount() < 3))
7492 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7493 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7494 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7495 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7496 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7497 auto param = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
7498 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7499 if (UNLIKELY(impl.callTracingActive())) {
7500 Vector<RecordCanvasActionVariant> callTracerParameters;
7501 callTracerParameters.append(target);
7502 callTracerParameters.append(pname);
7503 callTracerParameters.append(param);
7504 CallTracer::recordCanvasAction(impl, "texParameterf"_s, WTFMove(callTracerParameters));
7505 }
7506 impl.texParameterf(WTFMove(target), WTFMove(pname), WTFMove(param));
7507 return JSValue::encode(jsUndefined());
7508}
7509
7510EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexParameterf(ExecState* state)
7511{
7512 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionTexParameterfBody>(*state, "texParameterf");
7513}
7514
7515#endif
7516
7517#if ENABLE(WEBGL)
7518static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionTexParameteriBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7519{
7520 UNUSED_PARAM(state);
7521 UNUSED_PARAM(throwScope);
7522 auto& impl = castedThis->wrapped();
7523 if (UNLIKELY(state->argumentCount() < 3))
7524 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7525 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7526 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7527 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7528 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7529 auto param = convert<IDLLong>(*state, state->uncheckedArgument(2));
7530 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7531 if (UNLIKELY(impl.callTracingActive())) {
7532 Vector<RecordCanvasActionVariant> callTracerParameters;
7533 callTracerParameters.append(target);
7534 callTracerParameters.append(pname);
7535 callTracerParameters.append(param);
7536 CallTracer::recordCanvasAction(impl, "texParameteri"_s, WTFMove(callTracerParameters));
7537 }
7538 impl.texParameteri(WTFMove(target), WTFMove(pname), WTFMove(param));
7539 return JSValue::encode(jsUndefined());
7540}
7541
7542EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexParameteri(ExecState* state)
7543{
7544 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionTexParameteriBody>(*state, "texParameteri");
7545}
7546
7547#endif
7548
7549#if ENABLE(WEBGL)
7550static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform1fBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7551{
7552 UNUSED_PARAM(state);
7553 UNUSED_PARAM(throwScope);
7554 auto& impl = castedThis->wrapped();
7555 if (UNLIKELY(state->argumentCount() < 2))
7556 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7557 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform1f", "WebGLUniformLocation"); });
7558 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7559 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
7560 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7561 if (UNLIKELY(impl.callTracingActive())) {
7562 Vector<RecordCanvasActionVariant> callTracerParameters;
7563 if (location)
7564 callTracerParameters.append(location);
7565 callTracerParameters.append(x);
7566 CallTracer::recordCanvasAction(impl, "uniform1f"_s, WTFMove(callTracerParameters));
7567 }
7568 impl.uniform1f(WTFMove(location), WTFMove(x));
7569 return JSValue::encode(jsUndefined());
7570}
7571
7572EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform1f(ExecState* state)
7573{
7574 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform1fBody>(*state, "uniform1f");
7575}
7576
7577#endif
7578
7579#if ENABLE(WEBGL)
7580static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform2fBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7581{
7582 UNUSED_PARAM(state);
7583 UNUSED_PARAM(throwScope);
7584 auto& impl = castedThis->wrapped();
7585 if (UNLIKELY(state->argumentCount() < 3))
7586 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7587 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform2f", "WebGLUniformLocation"); });
7588 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7589 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
7590 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7591 auto y = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
7592 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7593 if (UNLIKELY(impl.callTracingActive())) {
7594 Vector<RecordCanvasActionVariant> callTracerParameters;
7595 if (location)
7596 callTracerParameters.append(location);
7597 callTracerParameters.append(x);
7598 callTracerParameters.append(y);
7599 CallTracer::recordCanvasAction(impl, "uniform2f"_s, WTFMove(callTracerParameters));
7600 }
7601 impl.uniform2f(WTFMove(location), WTFMove(x), WTFMove(y));
7602 return JSValue::encode(jsUndefined());
7603}
7604
7605EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform2f(ExecState* state)
7606{
7607 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform2fBody>(*state, "uniform2f");
7608}
7609
7610#endif
7611
7612#if ENABLE(WEBGL)
7613static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform3fBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7614{
7615 UNUSED_PARAM(state);
7616 UNUSED_PARAM(throwScope);
7617 auto& impl = castedThis->wrapped();
7618 if (UNLIKELY(state->argumentCount() < 4))
7619 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7620 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform3f", "WebGLUniformLocation"); });
7621 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7622 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
7623 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7624 auto y = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
7625 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7626 auto z = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(3));
7627 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7628 if (UNLIKELY(impl.callTracingActive())) {
7629 Vector<RecordCanvasActionVariant> callTracerParameters;
7630 if (location)
7631 callTracerParameters.append(location);
7632 callTracerParameters.append(x);
7633 callTracerParameters.append(y);
7634 callTracerParameters.append(z);
7635 CallTracer::recordCanvasAction(impl, "uniform3f"_s, WTFMove(callTracerParameters));
7636 }
7637 impl.uniform3f(WTFMove(location), WTFMove(x), WTFMove(y), WTFMove(z));
7638 return JSValue::encode(jsUndefined());
7639}
7640
7641EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform3f(ExecState* state)
7642{
7643 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform3fBody>(*state, "uniform3f");
7644}
7645
7646#endif
7647
7648#if ENABLE(WEBGL)
7649static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform4fBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7650{
7651 UNUSED_PARAM(state);
7652 UNUSED_PARAM(throwScope);
7653 auto& impl = castedThis->wrapped();
7654 if (UNLIKELY(state->argumentCount() < 5))
7655 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7656 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform4f", "WebGLUniformLocation"); });
7657 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7658 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
7659 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7660 auto y = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
7661 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7662 auto z = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(3));
7663 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7664 auto w = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(4));
7665 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7666 if (UNLIKELY(impl.callTracingActive())) {
7667 Vector<RecordCanvasActionVariant> callTracerParameters;
7668 if (location)
7669 callTracerParameters.append(location);
7670 callTracerParameters.append(x);
7671 callTracerParameters.append(y);
7672 callTracerParameters.append(z);
7673 callTracerParameters.append(w);
7674 CallTracer::recordCanvasAction(impl, "uniform4f"_s, WTFMove(callTracerParameters));
7675 }
7676 impl.uniform4f(WTFMove(location), WTFMove(x), WTFMove(y), WTFMove(z), WTFMove(w));
7677 return JSValue::encode(jsUndefined());
7678}
7679
7680EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform4f(ExecState* state)
7681{
7682 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform4fBody>(*state, "uniform4f");
7683}
7684
7685#endif
7686
7687#if ENABLE(WEBGL)
7688static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform1iBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7689{
7690 UNUSED_PARAM(state);
7691 UNUSED_PARAM(throwScope);
7692 auto& impl = castedThis->wrapped();
7693 if (UNLIKELY(state->argumentCount() < 2))
7694 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7695 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform1i", "WebGLUniformLocation"); });
7696 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7697 auto x = convert<IDLLong>(*state, state->uncheckedArgument(1));
7698 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7699 if (UNLIKELY(impl.callTracingActive())) {
7700 Vector<RecordCanvasActionVariant> callTracerParameters;
7701 if (location)
7702 callTracerParameters.append(location);
7703 callTracerParameters.append(x);
7704 CallTracer::recordCanvasAction(impl, "uniform1i"_s, WTFMove(callTracerParameters));
7705 }
7706 impl.uniform1i(WTFMove(location), WTFMove(x));
7707 return JSValue::encode(jsUndefined());
7708}
7709
7710EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform1i(ExecState* state)
7711{
7712 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform1iBody>(*state, "uniform1i");
7713}
7714
7715#endif
7716
7717#if ENABLE(WEBGL)
7718static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform2iBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7719{
7720 UNUSED_PARAM(state);
7721 UNUSED_PARAM(throwScope);
7722 auto& impl = castedThis->wrapped();
7723 if (UNLIKELY(state->argumentCount() < 3))
7724 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7725 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform2i", "WebGLUniformLocation"); });
7726 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7727 auto x = convert<IDLLong>(*state, state->uncheckedArgument(1));
7728 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7729 auto y = convert<IDLLong>(*state, state->uncheckedArgument(2));
7730 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7731 if (UNLIKELY(impl.callTracingActive())) {
7732 Vector<RecordCanvasActionVariant> callTracerParameters;
7733 if (location)
7734 callTracerParameters.append(location);
7735 callTracerParameters.append(x);
7736 callTracerParameters.append(y);
7737 CallTracer::recordCanvasAction(impl, "uniform2i"_s, WTFMove(callTracerParameters));
7738 }
7739 impl.uniform2i(WTFMove(location), WTFMove(x), WTFMove(y));
7740 return JSValue::encode(jsUndefined());
7741}
7742
7743EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform2i(ExecState* state)
7744{
7745 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform2iBody>(*state, "uniform2i");
7746}
7747
7748#endif
7749
7750#if ENABLE(WEBGL)
7751static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform3iBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7752{
7753 UNUSED_PARAM(state);
7754 UNUSED_PARAM(throwScope);
7755 auto& impl = castedThis->wrapped();
7756 if (UNLIKELY(state->argumentCount() < 4))
7757 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7758 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform3i", "WebGLUniformLocation"); });
7759 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7760 auto x = convert<IDLLong>(*state, state->uncheckedArgument(1));
7761 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7762 auto y = convert<IDLLong>(*state, state->uncheckedArgument(2));
7763 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7764 auto z = convert<IDLLong>(*state, state->uncheckedArgument(3));
7765 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7766 if (UNLIKELY(impl.callTracingActive())) {
7767 Vector<RecordCanvasActionVariant> callTracerParameters;
7768 if (location)
7769 callTracerParameters.append(location);
7770 callTracerParameters.append(x);
7771 callTracerParameters.append(y);
7772 callTracerParameters.append(z);
7773 CallTracer::recordCanvasAction(impl, "uniform3i"_s, WTFMove(callTracerParameters));
7774 }
7775 impl.uniform3i(WTFMove(location), WTFMove(x), WTFMove(y), WTFMove(z));
7776 return JSValue::encode(jsUndefined());
7777}
7778
7779EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform3i(ExecState* state)
7780{
7781 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform3iBody>(*state, "uniform3i");
7782}
7783
7784#endif
7785
7786#if ENABLE(WEBGL)
7787static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform4iBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7788{
7789 UNUSED_PARAM(state);
7790 UNUSED_PARAM(throwScope);
7791 auto& impl = castedThis->wrapped();
7792 if (UNLIKELY(state->argumentCount() < 5))
7793 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7794 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform4i", "WebGLUniformLocation"); });
7795 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7796 auto x = convert<IDLLong>(*state, state->uncheckedArgument(1));
7797 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7798 auto y = convert<IDLLong>(*state, state->uncheckedArgument(2));
7799 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7800 auto z = convert<IDLLong>(*state, state->uncheckedArgument(3));
7801 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7802 auto w = convert<IDLLong>(*state, state->uncheckedArgument(4));
7803 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7804 if (UNLIKELY(impl.callTracingActive())) {
7805 Vector<RecordCanvasActionVariant> callTracerParameters;
7806 if (location)
7807 callTracerParameters.append(location);
7808 callTracerParameters.append(x);
7809 callTracerParameters.append(y);
7810 callTracerParameters.append(z);
7811 callTracerParameters.append(w);
7812 CallTracer::recordCanvasAction(impl, "uniform4i"_s, WTFMove(callTracerParameters));
7813 }
7814 impl.uniform4i(WTFMove(location), WTFMove(x), WTFMove(y), WTFMove(z), WTFMove(w));
7815 return JSValue::encode(jsUndefined());
7816}
7817
7818EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform4i(ExecState* state)
7819{
7820 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform4iBody>(*state, "uniform4i");
7821}
7822
7823#endif
7824
7825#if ENABLE(WEBGL)
7826static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform1fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7827{
7828 UNUSED_PARAM(state);
7829 UNUSED_PARAM(throwScope);
7830 auto& impl = castedThis->wrapped();
7831 if (UNLIKELY(state->argumentCount() < 2))
7832 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7833 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform1fv", "WebGLUniformLocation"); });
7834 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7835 auto v = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
7836 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7837 if (UNLIKELY(impl.callTracingActive())) {
7838 Vector<RecordCanvasActionVariant> callTracerParameters;
7839 if (location)
7840 callTracerParameters.append(location);
7841 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
7842 CallTracer::recordCanvasAction(impl, "uniform1fv"_s, WTFMove(callTracerParameters));
7843 }
7844 impl.uniform1fv(WTFMove(location), WTFMove(v));
7845 return JSValue::encode(jsUndefined());
7846}
7847
7848EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform1fv(ExecState* state)
7849{
7850 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform1fvBody>(*state, "uniform1fv");
7851}
7852
7853#endif
7854
7855#if ENABLE(WEBGL)
7856static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform2fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7857{
7858 UNUSED_PARAM(state);
7859 UNUSED_PARAM(throwScope);
7860 auto& impl = castedThis->wrapped();
7861 if (UNLIKELY(state->argumentCount() < 2))
7862 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7863 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform2fv", "WebGLUniformLocation"); });
7864 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7865 auto v = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
7866 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7867 if (UNLIKELY(impl.callTracingActive())) {
7868 Vector<RecordCanvasActionVariant> callTracerParameters;
7869 if (location)
7870 callTracerParameters.append(location);
7871 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
7872 CallTracer::recordCanvasAction(impl, "uniform2fv"_s, WTFMove(callTracerParameters));
7873 }
7874 impl.uniform2fv(WTFMove(location), WTFMove(v));
7875 return JSValue::encode(jsUndefined());
7876}
7877
7878EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform2fv(ExecState* state)
7879{
7880 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform2fvBody>(*state, "uniform2fv");
7881}
7882
7883#endif
7884
7885#if ENABLE(WEBGL)
7886static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform3fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7887{
7888 UNUSED_PARAM(state);
7889 UNUSED_PARAM(throwScope);
7890 auto& impl = castedThis->wrapped();
7891 if (UNLIKELY(state->argumentCount() < 2))
7892 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7893 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform3fv", "WebGLUniformLocation"); });
7894 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7895 auto v = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
7896 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7897 if (UNLIKELY(impl.callTracingActive())) {
7898 Vector<RecordCanvasActionVariant> callTracerParameters;
7899 if (location)
7900 callTracerParameters.append(location);
7901 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
7902 CallTracer::recordCanvasAction(impl, "uniform3fv"_s, WTFMove(callTracerParameters));
7903 }
7904 impl.uniform3fv(WTFMove(location), WTFMove(v));
7905 return JSValue::encode(jsUndefined());
7906}
7907
7908EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform3fv(ExecState* state)
7909{
7910 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform3fvBody>(*state, "uniform3fv");
7911}
7912
7913#endif
7914
7915#if ENABLE(WEBGL)
7916static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform4fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7917{
7918 UNUSED_PARAM(state);
7919 UNUSED_PARAM(throwScope);
7920 auto& impl = castedThis->wrapped();
7921 if (UNLIKELY(state->argumentCount() < 2))
7922 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7923 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform4fv", "WebGLUniformLocation"); });
7924 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7925 auto v = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
7926 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7927 if (UNLIKELY(impl.callTracingActive())) {
7928 Vector<RecordCanvasActionVariant> callTracerParameters;
7929 if (location)
7930 callTracerParameters.append(location);
7931 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
7932 CallTracer::recordCanvasAction(impl, "uniform4fv"_s, WTFMove(callTracerParameters));
7933 }
7934 impl.uniform4fv(WTFMove(location), WTFMove(v));
7935 return JSValue::encode(jsUndefined());
7936}
7937
7938EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform4fv(ExecState* state)
7939{
7940 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform4fvBody>(*state, "uniform4fv");
7941}
7942
7943#endif
7944
7945#if ENABLE(WEBGL)
7946static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform1ivBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7947{
7948 UNUSED_PARAM(state);
7949 UNUSED_PARAM(throwScope);
7950 auto& impl = castedThis->wrapped();
7951 if (UNLIKELY(state->argumentCount() < 2))
7952 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7953 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform1iv", "WebGLUniformLocation"); });
7954 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7955 auto v = convert<IDLUnion<IDLInt32Array, IDLSequence<IDLLong>>>(*state, state->uncheckedArgument(1));
7956 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7957 if (UNLIKELY(impl.callTracingActive())) {
7958 Vector<RecordCanvasActionVariant> callTracerParameters;
7959 if (location)
7960 callTracerParameters.append(location);
7961 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
7962 CallTracer::recordCanvasAction(impl, "uniform1iv"_s, WTFMove(callTracerParameters));
7963 }
7964 impl.uniform1iv(WTFMove(location), WTFMove(v));
7965 return JSValue::encode(jsUndefined());
7966}
7967
7968EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform1iv(ExecState* state)
7969{
7970 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform1ivBody>(*state, "uniform1iv");
7971}
7972
7973#endif
7974
7975#if ENABLE(WEBGL)
7976static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform2ivBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7977{
7978 UNUSED_PARAM(state);
7979 UNUSED_PARAM(throwScope);
7980 auto& impl = castedThis->wrapped();
7981 if (UNLIKELY(state->argumentCount() < 2))
7982 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7983 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform2iv", "WebGLUniformLocation"); });
7984 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7985 auto v = convert<IDLUnion<IDLInt32Array, IDLSequence<IDLLong>>>(*state, state->uncheckedArgument(1));
7986 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7987 if (UNLIKELY(impl.callTracingActive())) {
7988 Vector<RecordCanvasActionVariant> callTracerParameters;
7989 if (location)
7990 callTracerParameters.append(location);
7991 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
7992 CallTracer::recordCanvasAction(impl, "uniform2iv"_s, WTFMove(callTracerParameters));
7993 }
7994 impl.uniform2iv(WTFMove(location), WTFMove(v));
7995 return JSValue::encode(jsUndefined());
7996}
7997
7998EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform2iv(ExecState* state)
7999{
8000 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform2ivBody>(*state, "uniform2iv");
8001}
8002
8003#endif
8004
8005#if ENABLE(WEBGL)
8006static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform3ivBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8007{
8008 UNUSED_PARAM(state);
8009 UNUSED_PARAM(throwScope);
8010 auto& impl = castedThis->wrapped();
8011 if (UNLIKELY(state->argumentCount() < 2))
8012 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8013 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform3iv", "WebGLUniformLocation"); });
8014 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8015 auto v = convert<IDLUnion<IDLInt32Array, IDLSequence<IDLLong>>>(*state, state->uncheckedArgument(1));
8016 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8017 if (UNLIKELY(impl.callTracingActive())) {
8018 Vector<RecordCanvasActionVariant> callTracerParameters;
8019 if (location)
8020 callTracerParameters.append(location);
8021 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
8022 CallTracer::recordCanvasAction(impl, "uniform3iv"_s, WTFMove(callTracerParameters));
8023 }
8024 impl.uniform3iv(WTFMove(location), WTFMove(v));
8025 return JSValue::encode(jsUndefined());
8026}
8027
8028EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform3iv(ExecState* state)
8029{
8030 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform3ivBody>(*state, "uniform3iv");
8031}
8032
8033#endif
8034
8035#if ENABLE(WEBGL)
8036static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniform4ivBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8037{
8038 UNUSED_PARAM(state);
8039 UNUSED_PARAM(throwScope);
8040 auto& impl = castedThis->wrapped();
8041 if (UNLIKELY(state->argumentCount() < 2))
8042 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8043 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniform4iv", "WebGLUniformLocation"); });
8044 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8045 auto v = convert<IDLUnion<IDLInt32Array, IDLSequence<IDLLong>>>(*state, state->uncheckedArgument(1));
8046 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8047 if (UNLIKELY(impl.callTracingActive())) {
8048 Vector<RecordCanvasActionVariant> callTracerParameters;
8049 if (location)
8050 callTracerParameters.append(location);
8051 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
8052 CallTracer::recordCanvasAction(impl, "uniform4iv"_s, WTFMove(callTracerParameters));
8053 }
8054 impl.uniform4iv(WTFMove(location), WTFMove(v));
8055 return JSValue::encode(jsUndefined());
8056}
8057
8058EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniform4iv(ExecState* state)
8059{
8060 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniform4ivBody>(*state, "uniform4iv");
8061}
8062
8063#endif
8064
8065#if ENABLE(WEBGL)
8066static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniformMatrix2fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8067{
8068 UNUSED_PARAM(state);
8069 UNUSED_PARAM(throwScope);
8070 auto& impl = castedThis->wrapped();
8071 if (UNLIKELY(state->argumentCount() < 3))
8072 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8073 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniformMatrix2fv", "WebGLUniformLocation"); });
8074 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8075 auto transpose = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
8076 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8077 auto array = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(2));
8078 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8079 if (UNLIKELY(impl.callTracingActive())) {
8080 Vector<RecordCanvasActionVariant> callTracerParameters;
8081 if (location)
8082 callTracerParameters.append(location);
8083 callTracerParameters.append(transpose);
8084 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, array);
8085 CallTracer::recordCanvasAction(impl, "uniformMatrix2fv"_s, WTFMove(callTracerParameters));
8086 }
8087 impl.uniformMatrix2fv(WTFMove(location), WTFMove(transpose), WTFMove(array));
8088 return JSValue::encode(jsUndefined());
8089}
8090
8091EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniformMatrix2fv(ExecState* state)
8092{
8093 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniformMatrix2fvBody>(*state, "uniformMatrix2fv");
8094}
8095
8096#endif
8097
8098#if ENABLE(WEBGL)
8099static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniformMatrix3fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8100{
8101 UNUSED_PARAM(state);
8102 UNUSED_PARAM(throwScope);
8103 auto& impl = castedThis->wrapped();
8104 if (UNLIKELY(state->argumentCount() < 3))
8105 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8106 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniformMatrix3fv", "WebGLUniformLocation"); });
8107 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8108 auto transpose = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
8109 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8110 auto array = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(2));
8111 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8112 if (UNLIKELY(impl.callTracingActive())) {
8113 Vector<RecordCanvasActionVariant> callTracerParameters;
8114 if (location)
8115 callTracerParameters.append(location);
8116 callTracerParameters.append(transpose);
8117 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, array);
8118 CallTracer::recordCanvasAction(impl, "uniformMatrix3fv"_s, WTFMove(callTracerParameters));
8119 }
8120 impl.uniformMatrix3fv(WTFMove(location), WTFMove(transpose), WTFMove(array));
8121 return JSValue::encode(jsUndefined());
8122}
8123
8124EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniformMatrix3fv(ExecState* state)
8125{
8126 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniformMatrix3fvBody>(*state, "uniformMatrix3fv");
8127}
8128
8129#endif
8130
8131#if ENABLE(WEBGL)
8132static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUniformMatrix4fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8133{
8134 UNUSED_PARAM(state);
8135 UNUSED_PARAM(throwScope);
8136 auto& impl = castedThis->wrapped();
8137 if (UNLIKELY(state->argumentCount() < 3))
8138 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8139 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGLRenderingContext", "uniformMatrix4fv", "WebGLUniformLocation"); });
8140 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8141 auto transpose = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
8142 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8143 auto array = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(2));
8144 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8145 if (UNLIKELY(impl.callTracingActive())) {
8146 Vector<RecordCanvasActionVariant> callTracerParameters;
8147 if (location)
8148 callTracerParameters.append(location);
8149 callTracerParameters.append(transpose);
8150 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, array);
8151 CallTracer::recordCanvasAction(impl, "uniformMatrix4fv"_s, WTFMove(callTracerParameters));
8152 }
8153 impl.uniformMatrix4fv(WTFMove(location), WTFMove(transpose), WTFMove(array));
8154 return JSValue::encode(jsUndefined());
8155}
8156
8157EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUniformMatrix4fv(ExecState* state)
8158{
8159 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUniformMatrix4fvBody>(*state, "uniformMatrix4fv");
8160}
8161
8162#endif
8163
8164#if ENABLE(WEBGL)
8165static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionUseProgramBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8166{
8167 UNUSED_PARAM(state);
8168 UNUSED_PARAM(throwScope);
8169 auto& impl = castedThis->wrapped();
8170 if (UNLIKELY(state->argumentCount() < 1))
8171 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8172 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "useProgram", "WebGLProgram"); });
8173 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8174 if (UNLIKELY(impl.callTracingActive())) {
8175 Vector<RecordCanvasActionVariant> callTracerParameters;
8176 if (program)
8177 callTracerParameters.append(program);
8178 CallTracer::recordCanvasAction(impl, "useProgram"_s, WTFMove(callTracerParameters));
8179 }
8180 impl.useProgram(WTFMove(program));
8181 return JSValue::encode(jsUndefined());
8182}
8183
8184EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionUseProgram(ExecState* state)
8185{
8186 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionUseProgramBody>(*state, "useProgram");
8187}
8188
8189#endif
8190
8191#if ENABLE(WEBGL)
8192static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionValidateProgramBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8193{
8194 UNUSED_PARAM(state);
8195 UNUSED_PARAM(throwScope);
8196 auto& impl = castedThis->wrapped();
8197 if (UNLIKELY(state->argumentCount() < 1))
8198 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8199 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGLRenderingContext", "validateProgram", "WebGLProgram"); });
8200 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8201 if (UNLIKELY(impl.callTracingActive())) {
8202 Vector<RecordCanvasActionVariant> callTracerParameters;
8203 if (program)
8204 callTracerParameters.append(program);
8205 CallTracer::recordCanvasAction(impl, "validateProgram"_s, WTFMove(callTracerParameters));
8206 }
8207 impl.validateProgram(WTFMove(program));
8208 return JSValue::encode(jsUndefined());
8209}
8210
8211EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionValidateProgram(ExecState* state)
8212{
8213 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionValidateProgramBody>(*state, "validateProgram");
8214}
8215
8216#endif
8217
8218#if ENABLE(WEBGL)
8219static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionVertexAttrib1fBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8220{
8221 UNUSED_PARAM(state);
8222 UNUSED_PARAM(throwScope);
8223 auto& impl = castedThis->wrapped();
8224 if (UNLIKELY(state->argumentCount() < 2))
8225 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8226 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8227 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8228 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
8229 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8230 if (UNLIKELY(impl.callTracingActive())) {
8231 Vector<RecordCanvasActionVariant> callTracerParameters;
8232 callTracerParameters.append(index);
8233 callTracerParameters.append(x);
8234 CallTracer::recordCanvasAction(impl, "vertexAttrib1f"_s, WTFMove(callTracerParameters));
8235 }
8236 impl.vertexAttrib1f(WTFMove(index), WTFMove(x));
8237 return JSValue::encode(jsUndefined());
8238}
8239
8240EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib1f(ExecState* state)
8241{
8242 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionVertexAttrib1fBody>(*state, "vertexAttrib1f");
8243}
8244
8245#endif
8246
8247#if ENABLE(WEBGL)
8248static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionVertexAttrib2fBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8249{
8250 UNUSED_PARAM(state);
8251 UNUSED_PARAM(throwScope);
8252 auto& impl = castedThis->wrapped();
8253 if (UNLIKELY(state->argumentCount() < 3))
8254 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8255 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8256 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8257 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
8258 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8259 auto y = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
8260 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8261 if (UNLIKELY(impl.callTracingActive())) {
8262 Vector<RecordCanvasActionVariant> callTracerParameters;
8263 callTracerParameters.append(index);
8264 callTracerParameters.append(x);
8265 callTracerParameters.append(y);
8266 CallTracer::recordCanvasAction(impl, "vertexAttrib2f"_s, WTFMove(callTracerParameters));
8267 }
8268 impl.vertexAttrib2f(WTFMove(index), WTFMove(x), WTFMove(y));
8269 return JSValue::encode(jsUndefined());
8270}
8271
8272EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib2f(ExecState* state)
8273{
8274 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionVertexAttrib2fBody>(*state, "vertexAttrib2f");
8275}
8276
8277#endif
8278
8279#if ENABLE(WEBGL)
8280static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionVertexAttrib3fBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8281{
8282 UNUSED_PARAM(state);
8283 UNUSED_PARAM(throwScope);
8284 auto& impl = castedThis->wrapped();
8285 if (UNLIKELY(state->argumentCount() < 4))
8286 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8287 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8288 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8289 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
8290 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8291 auto y = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
8292 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8293 auto z = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(3));
8294 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8295 if (UNLIKELY(impl.callTracingActive())) {
8296 Vector<RecordCanvasActionVariant> callTracerParameters;
8297 callTracerParameters.append(index);
8298 callTracerParameters.append(x);
8299 callTracerParameters.append(y);
8300 callTracerParameters.append(z);
8301 CallTracer::recordCanvasAction(impl, "vertexAttrib3f"_s, WTFMove(callTracerParameters));
8302 }
8303 impl.vertexAttrib3f(WTFMove(index), WTFMove(x), WTFMove(y), WTFMove(z));
8304 return JSValue::encode(jsUndefined());
8305}
8306
8307EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib3f(ExecState* state)
8308{
8309 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionVertexAttrib3fBody>(*state, "vertexAttrib3f");
8310}
8311
8312#endif
8313
8314#if ENABLE(WEBGL)
8315static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionVertexAttrib4fBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8316{
8317 UNUSED_PARAM(state);
8318 UNUSED_PARAM(throwScope);
8319 auto& impl = castedThis->wrapped();
8320 if (UNLIKELY(state->argumentCount() < 5))
8321 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8322 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8323 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8324 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
8325 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8326 auto y = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
8327 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8328 auto z = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(3));
8329 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8330 auto w = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(4));
8331 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8332 if (UNLIKELY(impl.callTracingActive())) {
8333 Vector<RecordCanvasActionVariant> callTracerParameters;
8334 callTracerParameters.append(index);
8335 callTracerParameters.append(x);
8336 callTracerParameters.append(y);
8337 callTracerParameters.append(z);
8338 callTracerParameters.append(w);
8339 CallTracer::recordCanvasAction(impl, "vertexAttrib4f"_s, WTFMove(callTracerParameters));
8340 }
8341 impl.vertexAttrib4f(WTFMove(index), WTFMove(x), WTFMove(y), WTFMove(z), WTFMove(w));
8342 return JSValue::encode(jsUndefined());
8343}
8344
8345EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib4f(ExecState* state)
8346{
8347 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionVertexAttrib4fBody>(*state, "vertexAttrib4f");
8348}
8349
8350#endif
8351
8352#if ENABLE(WEBGL)
8353static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionVertexAttrib1fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8354{
8355 UNUSED_PARAM(state);
8356 UNUSED_PARAM(throwScope);
8357 auto& impl = castedThis->wrapped();
8358 if (UNLIKELY(state->argumentCount() < 2))
8359 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8360 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8361 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8362 auto values = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
8363 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8364 if (UNLIKELY(impl.callTracingActive())) {
8365 Vector<RecordCanvasActionVariant> callTracerParameters;
8366 callTracerParameters.append(index);
8367 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, values);
8368 CallTracer::recordCanvasAction(impl, "vertexAttrib1fv"_s, WTFMove(callTracerParameters));
8369 }
8370 impl.vertexAttrib1fv(WTFMove(index), WTFMove(values));
8371 return JSValue::encode(jsUndefined());
8372}
8373
8374EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib1fv(ExecState* state)
8375{
8376 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionVertexAttrib1fvBody>(*state, "vertexAttrib1fv");
8377}
8378
8379#endif
8380
8381#if ENABLE(WEBGL)
8382static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionVertexAttrib2fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8383{
8384 UNUSED_PARAM(state);
8385 UNUSED_PARAM(throwScope);
8386 auto& impl = castedThis->wrapped();
8387 if (UNLIKELY(state->argumentCount() < 2))
8388 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8389 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8390 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8391 auto values = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
8392 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8393 if (UNLIKELY(impl.callTracingActive())) {
8394 Vector<RecordCanvasActionVariant> callTracerParameters;
8395 callTracerParameters.append(index);
8396 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, values);
8397 CallTracer::recordCanvasAction(impl, "vertexAttrib2fv"_s, WTFMove(callTracerParameters));
8398 }
8399 impl.vertexAttrib2fv(WTFMove(index), WTFMove(values));
8400 return JSValue::encode(jsUndefined());
8401}
8402
8403EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib2fv(ExecState* state)
8404{
8405 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionVertexAttrib2fvBody>(*state, "vertexAttrib2fv");
8406}
8407
8408#endif
8409
8410#if ENABLE(WEBGL)
8411static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionVertexAttrib3fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8412{
8413 UNUSED_PARAM(state);
8414 UNUSED_PARAM(throwScope);
8415 auto& impl = castedThis->wrapped();
8416 if (UNLIKELY(state->argumentCount() < 2))
8417 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8418 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8419 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8420 auto values = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
8421 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8422 if (UNLIKELY(impl.callTracingActive())) {
8423 Vector<RecordCanvasActionVariant> callTracerParameters;
8424 callTracerParameters.append(index);
8425 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, values);
8426 CallTracer::recordCanvasAction(impl, "vertexAttrib3fv"_s, WTFMove(callTracerParameters));
8427 }
8428 impl.vertexAttrib3fv(WTFMove(index), WTFMove(values));
8429 return JSValue::encode(jsUndefined());
8430}
8431
8432EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib3fv(ExecState* state)
8433{
8434 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionVertexAttrib3fvBody>(*state, "vertexAttrib3fv");
8435}
8436
8437#endif
8438
8439#if ENABLE(WEBGL)
8440static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionVertexAttrib4fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8441{
8442 UNUSED_PARAM(state);
8443 UNUSED_PARAM(throwScope);
8444 auto& impl = castedThis->wrapped();
8445 if (UNLIKELY(state->argumentCount() < 2))
8446 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8447 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8448 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8449 auto values = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
8450 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8451 if (UNLIKELY(impl.callTracingActive())) {
8452 Vector<RecordCanvasActionVariant> callTracerParameters;
8453 callTracerParameters.append(index);
8454 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, values);
8455 CallTracer::recordCanvasAction(impl, "vertexAttrib4fv"_s, WTFMove(callTracerParameters));
8456 }
8457 impl.vertexAttrib4fv(WTFMove(index), WTFMove(values));
8458 return JSValue::encode(jsUndefined());
8459}
8460
8461EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttrib4fv(ExecState* state)
8462{
8463 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionVertexAttrib4fvBody>(*state, "vertexAttrib4fv");
8464}
8465
8466#endif
8467
8468#if ENABLE(WEBGL)
8469static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionVertexAttribPointerBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8470{
8471 UNUSED_PARAM(state);
8472 UNUSED_PARAM(throwScope);
8473 auto& impl = castedThis->wrapped();
8474 if (UNLIKELY(state->argumentCount() < 6))
8475 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8476 auto indx = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8477 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8478 auto size = convert<IDLLong>(*state, state->uncheckedArgument(1));
8479 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8480 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
8481 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8482 auto normalized = convert<IDLBoolean>(*state, state->uncheckedArgument(3));
8483 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8484 auto stride = convert<IDLLong>(*state, state->uncheckedArgument(4));
8485 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8486 auto offset = convert<IDLLongLong>(*state, state->uncheckedArgument(5));
8487 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8488 if (UNLIKELY(impl.callTracingActive())) {
8489 Vector<RecordCanvasActionVariant> callTracerParameters;
8490 callTracerParameters.append(indx);
8491 callTracerParameters.append(size);
8492 callTracerParameters.append(type);
8493 callTracerParameters.append(normalized);
8494 callTracerParameters.append(stride);
8495 callTracerParameters.append(offset);
8496 CallTracer::recordCanvasAction(impl, "vertexAttribPointer"_s, WTFMove(callTracerParameters));
8497 }
8498 impl.vertexAttribPointer(WTFMove(indx), WTFMove(size), WTFMove(type), WTFMove(normalized), WTFMove(stride), WTFMove(offset));
8499 return JSValue::encode(jsUndefined());
8500}
8501
8502EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionVertexAttribPointer(ExecState* state)
8503{
8504 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionVertexAttribPointerBody>(*state, "vertexAttribPointer");
8505}
8506
8507#endif
8508
8509#if ENABLE(WEBGL)
8510static inline JSC::EncodedJSValue jsWebGLRenderingContextPrototypeFunctionViewportBody(JSC::ExecState* state, typename IDLOperation<JSWebGLRenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8511{
8512 UNUSED_PARAM(state);
8513 UNUSED_PARAM(throwScope);
8514 auto& impl = castedThis->wrapped();
8515 if (UNLIKELY(state->argumentCount() < 4))
8516 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8517 auto x = convert<IDLLong>(*state, state->uncheckedArgument(0));
8518 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8519 auto y = convert<IDLLong>(*state, state->uncheckedArgument(1));
8520 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8521 auto width = convert<IDLLong>(*state, state->uncheckedArgument(2));
8522 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8523 auto height = convert<IDLLong>(*state, state->uncheckedArgument(3));
8524 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8525 if (UNLIKELY(impl.callTracingActive())) {
8526 Vector<RecordCanvasActionVariant> callTracerParameters;
8527 callTracerParameters.append(x);
8528 callTracerParameters.append(y);
8529 callTracerParameters.append(width);
8530 callTracerParameters.append(height);
8531 CallTracer::recordCanvasAction(impl, "viewport"_s, WTFMove(callTracerParameters));
8532 }
8533 impl.viewport(WTFMove(x), WTFMove(y), WTFMove(width), WTFMove(height));
8534 return JSValue::encode(jsUndefined());
8535}
8536
8537EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionViewport(ExecState* state)
8538{
8539 return IDLOperation<JSWebGLRenderingContext>::call<jsWebGLRenderingContextPrototypeFunctionViewportBody>(*state, "viewport");
8540}
8541
8542#endif
8543
8544void JSWebGLRenderingContext::visitChildren(JSCell* cell, SlotVisitor& visitor)
8545{
8546 auto* thisObject = jsCast<JSWebGLRenderingContext*>(cell);
8547 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
8548 Base::visitChildren(thisObject, visitor);
8549 thisObject->visitAdditionalChildren(visitor);
8550}
8551
8552void JSWebGLRenderingContext::visitOutputConstraints(JSCell* cell, SlotVisitor& visitor)
8553{
8554 auto* thisObject = jsCast<JSWebGLRenderingContext*>(cell);
8555 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
8556 Base::visitOutputConstraints(thisObject, visitor);
8557 thisObject->visitAdditionalChildren(visitor);
8558}
8559
8560void JSWebGLRenderingContext::heapSnapshot(JSCell* cell, HeapSnapshotBuilder& builder)
8561{
8562 auto* thisObject = jsCast<JSWebGLRenderingContext*>(cell);
8563 builder.setWrappedObjectForCell(cell, &thisObject->wrapped());
8564 if (thisObject->scriptExecutionContext())
8565 builder.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string());
8566 Base::heapSnapshot(cell, builder);
8567}
8568
8569bool JSWebGLRenderingContextOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor, const char** reason)
8570{
8571 UNUSED_PARAM(handle);
8572 UNUSED_PARAM(visitor);
8573 UNUSED_PARAM(reason);
8574 return false;
8575}
8576
8577void JSWebGLRenderingContextOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context)
8578{
8579 auto* jsWebGLRenderingContext = static_cast<JSWebGLRenderingContext*>(handle.slot()->asCell());
8580 auto& world = *static_cast<DOMWrapperWorld*>(context);
8581 uncacheWrapper(world, &jsWebGLRenderingContext->wrapped(), jsWebGLRenderingContext);
8582}
8583
8584#if ENABLE(BINDING_INTEGRITY)
8585#if PLATFORM(WIN)
8586#pragma warning(disable: 4483)
8587extern "C" { extern void (*const __identifier("??_7WebGLRenderingContext@WebCore@@6B@")[])(); }
8588#else
8589extern "C" { extern void* _ZTVN7WebCore21WebGLRenderingContextE[]; }
8590#endif
8591#endif
8592
8593JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, Ref<WebGLRenderingContext>&& impl)
8594{
8595
8596#if ENABLE(BINDING_INTEGRITY)
8597 void* actualVTablePointer = *(reinterpret_cast<void**>(impl.ptr()));
8598#if PLATFORM(WIN)
8599 void* expectedVTablePointer = WTF_PREPARE_VTBL_POINTER_FOR_INSPECTION(__identifier("??_7WebGLRenderingContext@WebCore@@6B@"));
8600#else
8601 void* expectedVTablePointer = WTF_PREPARE_VTBL_POINTER_FOR_INSPECTION(&_ZTVN7WebCore21WebGLRenderingContextE[2]);
8602#endif
8603
8604 // If this fails WebGLRenderingContext does not have a vtable, so you need to add the
8605 // ImplementationLacksVTable attribute to the interface definition
8606 static_assert(std::is_polymorphic<WebGLRenderingContext>::value, "WebGLRenderingContext is not polymorphic");
8607
8608 // If you hit this assertion you either have a use after free bug, or
8609 // WebGLRenderingContext has subclasses. If WebGLRenderingContext has subclasses that get passed
8610 // to toJS() we currently require WebGLRenderingContext you to opt out of binding hardening
8611 // by adding the SkipVTableValidation attribute to the interface IDL definition
8612 RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
8613#endif
8614 return createWrapper<WebGLRenderingContext>(globalObject, WTFMove(impl));
8615}
8616
8617JSC::JSValue toJS(JSC::ExecState* state, JSDOMGlobalObject* globalObject, WebGLRenderingContext& impl)
8618{
8619 return wrap(state, globalObject, impl);
8620}
8621
8622WebGLRenderingContext* JSWebGLRenderingContext::toWrapped(JSC::VM& vm, JSC::JSValue value)
8623{
8624 if (auto* wrapper = jsDynamicCast<JSWebGLRenderingContext*>(vm, value))
8625 return &wrapper->wrapped();
8626 return nullptr;
8627}
8628
8629}
8630
8631#endif // ENABLE(WEBGL)
8632