Title: [221967] trunk
Revision
221967
Author
commit-qu...@webkit.org
Date
2017-09-13 04:47:44 -0700 (Wed, 13 Sep 2017)

Log Message

Disallow passing null values to various WebGL2 methods.
https://bugs.webkit.org/show_bug.cgi?id=176829

Patch by Ms2ger <ms2...@igalia.com> on 2017-09-13
Reviewed by Yusuke Suzuki.

This matches the specification as well as Gecko and Chromium.

Source/WebCore:

Test: fast/canvas/webgl/webgl2/bindings.html

* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::beginQuery):
(WebCore::WebGL2RenderingContext::getQueryParameter):
(WebCore::WebGL2RenderingContext::samplerParameteri):
(WebCore::WebGL2RenderingContext::samplerParameterf):
(WebCore::WebGL2RenderingContext::getSamplerParameter):
(WebCore::WebGL2RenderingContext::clientWaitSync):
(WebCore::WebGL2RenderingContext::waitSync):
(WebCore::WebGL2RenderingContext::getSyncParameter):
(WebCore::WebGL2RenderingContext::transformFeedbackVaryings):
(WebCore::WebGL2RenderingContext::getTransformFeedbackVarying):
(WebCore::WebGL2RenderingContext::getUniformIndices):
(WebCore::WebGL2RenderingContext::getUniformBlockIndex):
(WebCore::WebGL2RenderingContext::getActiveUniformBlockParameter):
(WebCore::WebGL2RenderingContext::getActiveUniformBlockName):
(WebCore::WebGL2RenderingContext::uniformBlockBinding):
* html/canvas/WebGL2RenderingContext.h:
* html/canvas/WebGL2RenderingContext.idl:

LayoutTests:

* fast/canvas/webgl/webgl2/bindings-expected.txt:
* fast/canvas/webgl/webgl2/bindings.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (221966 => 221967)


--- trunk/LayoutTests/ChangeLog	2017-09-13 11:17:27 UTC (rev 221966)
+++ trunk/LayoutTests/ChangeLog	2017-09-13 11:47:44 UTC (rev 221967)
@@ -1,3 +1,15 @@
+2017-09-13  Ms2ger  <ms2...@igalia.com>
+
+        Disallow passing null values to various WebGL2 methods.
+        https://bugs.webkit.org/show_bug.cgi?id=176829
+
+        Reviewed by Yusuke Suzuki.
+
+        This matches the specification as well as Gecko and Chromium.
+
+        * fast/canvas/webgl/webgl2/bindings-expected.txt:
+        * fast/canvas/webgl/webgl2/bindings.html:
+
 2017-09-13  Sergio Villar Senin  <svil...@igalia.com>
 
         [WebVR] Add IDLs and stubs

Modified: trunk/LayoutTests/fast/canvas/webgl/webgl2/bindings-expected.txt (221966 => 221967)


--- trunk/LayoutTests/fast/canvas/webgl/webgl2/bindings-expected.txt	2017-09-13 11:17:27 UTC (rev 221966)
+++ trunk/LayoutTests/fast/canvas/webgl/webgl2/bindings-expected.txt	2017-09-13 11:47:44 UTC (rev 221967)
@@ -9,5 +9,25 @@
 PASS uniformMatrix4x2fv with null data 
 PASS uniformMatrix3x4fv with null data 
 PASS uniformMatrix4x3fv with null data 
+PASS vertexAttribI4iv with null values 
+PASS vertexAttribI4uiv with null values 
+PASS clearBufferiv with null values 
+PASS clearBufferuiv with null values 
+PASS clearBufferfv with null values 
+PASS samplerParameteri with null sampler 
+PASS samplerParameterf with null sampler 
 PASS framebufferTextureLayer with integer texture 
+PASS beginQuery with null query 
+PASS getQueryParameter with null query 
+PASS getSamplerParameter with null sampler 
+PASS clientWaitSync with null sync 
+PASS waitSync with null sync 
+PASS getSyncParameter with null sync 
+PASS transformFeedbackVaryings with null program 
+PASS getTransformFeedbackVarying with null program 
+PASS getUniformIndices with null program 
+PASS getUniformBlockIndex with null program 
+PASS getActiveUniformBlockParameter with null program 
+PASS getActiveUniformBlockName with null program 
+PASS uniformBlockBinding with null program 
 

Modified: trunk/LayoutTests/fast/canvas/webgl/webgl2/bindings.html (221966 => 221967)


--- trunk/LayoutTests/fast/canvas/webgl/webgl2/bindings.html	2017-09-13 11:17:27 UTC (rev 221966)
+++ trunk/LayoutTests/fast/canvas/webgl/webgl2/bindings.html	2017-09-13 11:47:44 UTC (rev 221967)
@@ -20,7 +20,29 @@
   for (let dim of ["2x3", "3x2", "2x4", "4x2", "3x4", "4x3"]) {
     error_methods.push([`uniformMatrix${dim}fv`, [null, false, null], `uniformMatrix${dim}fv with null data`]);
   }
+  for (let type of ["i", "ui"]) {
+    error_methods.push([`vertexAttribI4${type}v`, [0, null], `vertexAttribI4${type}v with null values`]);
+  }
+  for (let type of ["i", "ui", "f"]) {
+    error_methods.push([`clearBuffer${type}v`, [context.COLOR, 0, null], `clearBuffer${type}v with null values`]);
+  }
+  for (let type of ["i", "f"]) {
+    error_methods.push([`samplerParameter${type}`, [null, 0, 0], `samplerParameter${type} with null sampler`]);
+  }
   error_methods.push(["framebufferTextureLayer", [0, 0, 0, 0, 0], "framebufferTextureLayer with integer texture"]);
+  error_methods.push(["beginQuery", [0, null], "beginQuery with null query"]);
+  error_methods.push(["getQueryParameter", [null, 0], "getQueryParameter with null query"]);
+  error_methods.push(["getSamplerParameter", [null, 0], "getSamplerParameter with null sampler"]);
+  error_methods.push(["clientWaitSync", [null, 0, 0], "clientWaitSync with null sync"]);
+  error_methods.push(["waitSync", [null, 0, 0], "waitSync with null sync"]);
+  error_methods.push(["getSyncParameter", [null, 0], "getSyncParameter with null sync"]);
+  error_methods.push(["transformFeedbackVaryings", [null, [], 0], "transformFeedbackVaryings with null program"]);
+  error_methods.push(["getTransformFeedbackVarying", [null, 0], "getTransformFeedbackVarying with null program"]);
+  error_methods.push(["getUniformIndices", [null, []], "getUniformIndices with null program"]);
+  error_methods.push(["getUniformBlockIndex", [null, ""], "getUniformBlockIndex with null program"]);
+  error_methods.push(["getActiveUniformBlockParameter", [null, 0, 0], "getActiveUniformBlockParameter with null program"]);
+  error_methods.push(["getActiveUniformBlockName", [null, 0], "getActiveUniformBlockName with null program"]);
+  error_methods.push(["uniformBlockBinding", [null, 0, 0], "uniformBlockBinding with null program"]);
 });
 
 for (var [method, args, name] of error_methods) {

Modified: trunk/Source/WebCore/ChangeLog (221966 => 221967)


--- trunk/Source/WebCore/ChangeLog	2017-09-13 11:17:27 UTC (rev 221966)
+++ trunk/Source/WebCore/ChangeLog	2017-09-13 11:47:44 UTC (rev 221967)
@@ -1,3 +1,33 @@
+2017-09-13  Ms2ger  <ms2...@igalia.com>
+
+        Disallow passing null values to various WebGL2 methods.
+        https://bugs.webkit.org/show_bug.cgi?id=176829
+
+        Reviewed by Yusuke Suzuki.
+
+        This matches the specification as well as Gecko and Chromium.
+
+        Test: fast/canvas/webgl/webgl2/bindings.html
+
+        * html/canvas/WebGL2RenderingContext.cpp:
+        (WebCore::WebGL2RenderingContext::beginQuery):
+        (WebCore::WebGL2RenderingContext::getQueryParameter):
+        (WebCore::WebGL2RenderingContext::samplerParameteri):
+        (WebCore::WebGL2RenderingContext::samplerParameterf):
+        (WebCore::WebGL2RenderingContext::getSamplerParameter):
+        (WebCore::WebGL2RenderingContext::clientWaitSync):
+        (WebCore::WebGL2RenderingContext::waitSync):
+        (WebCore::WebGL2RenderingContext::getSyncParameter):
+        (WebCore::WebGL2RenderingContext::transformFeedbackVaryings):
+        (WebCore::WebGL2RenderingContext::getTransformFeedbackVarying):
+        (WebCore::WebGL2RenderingContext::getUniformIndices):
+        (WebCore::WebGL2RenderingContext::getUniformBlockIndex):
+        (WebCore::WebGL2RenderingContext::getActiveUniformBlockParameter):
+        (WebCore::WebGL2RenderingContext::getActiveUniformBlockName):
+        (WebCore::WebGL2RenderingContext::uniformBlockBinding):
+        * html/canvas/WebGL2RenderingContext.h:
+        * html/canvas/WebGL2RenderingContext.idl:
+
 2017-09-13  Sergio Villar Senin  <svil...@igalia.com>
 
         [WebVR] Add IDLs and stubs

Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp (221966 => 221967)


--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp	2017-09-13 11:17:27 UTC (rev 221966)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp	2017-09-13 11:47:44 UTC (rev 221967)
@@ -770,7 +770,7 @@
     return false;
 }
 
-void WebGL2RenderingContext::beginQuery(GC3Denum, WebGLQuery*)
+void WebGL2RenderingContext::beginQuery(GC3Denum, WebGLQuery&)
 {
 }
 
@@ -783,7 +783,7 @@
     return nullptr;
 }
 
-WebGLAny WebGL2RenderingContext::getQueryParameter(WebGLQuery*, GC3Denum)
+WebGLAny WebGL2RenderingContext::getQueryParameter(WebGLQuery&, GC3Denum)
 {
     return nullptr;
 }
@@ -806,15 +806,15 @@
 {
 }
 
-void WebGL2RenderingContext::samplerParameteri(WebGLSampler*, GC3Denum, GC3Dint)
+void WebGL2RenderingContext::samplerParameteri(WebGLSampler&, GC3Denum, GC3Dint)
 {
 }
 
-void WebGL2RenderingContext::samplerParameterf(WebGLSampler*, GC3Denum, GC3Dfloat)
+void WebGL2RenderingContext::samplerParameterf(WebGLSampler&, GC3Denum, GC3Dfloat)
 {
 }
 
-WebGLAny WebGL2RenderingContext::getSamplerParameter(WebGLSampler*, GC3Denum)
+WebGLAny WebGL2RenderingContext::getSamplerParameter(WebGLSampler&, GC3Denum)
 {
     return nullptr;
 }
@@ -833,16 +833,16 @@
 {
 }
 
-GC3Denum WebGL2RenderingContext::clientWaitSync(WebGLSync*, GC3Dbitfield, GC3Duint64)
+GC3Denum WebGL2RenderingContext::clientWaitSync(WebGLSync&, GC3Dbitfield, GC3Duint64)
 {
     return 0;
 }
 
-void WebGL2RenderingContext::waitSync(WebGLSync*, GC3Dbitfield, GC3Duint64)
+void WebGL2RenderingContext::waitSync(WebGLSync&, GC3Dbitfield, GC3Duint64)
 {
 }
 
-WebGLAny WebGL2RenderingContext::getSyncParameter(WebGLSync*, GC3Denum)
+WebGLAny WebGL2RenderingContext::getSyncParameter(WebGLSync&, GC3Denum)
 {
     return nullptr;
 }
@@ -873,11 +873,11 @@
 {
 }
 
-void WebGL2RenderingContext::transformFeedbackVaryings(WebGLProgram*, const Vector<String>&, GC3Denum)
+void WebGL2RenderingContext::transformFeedbackVaryings(WebGLProgram&, const Vector<String>&, GC3Denum)
 {
 }
 
-RefPtr<WebGLActiveInfo> WebGL2RenderingContext::getTransformFeedbackVarying(WebGLProgram*, GC3Duint)
+RefPtr<WebGLActiveInfo> WebGL2RenderingContext::getTransformFeedbackVarying(WebGLProgram&, GC3Duint)
 {
     return nullptr;
 }
@@ -915,7 +915,7 @@
     }
 }
 
-Uint32Array* WebGL2RenderingContext::getUniformIndices(WebGLProgram*, const Vector<String>&)
+Uint32Array* WebGL2RenderingContext::getUniformIndices(WebGLProgram&, const Vector<String>&)
 {
     return nullptr;
 }
@@ -944,22 +944,22 @@
     }
 }
 
-GC3Duint WebGL2RenderingContext::getUniformBlockIndex(WebGLProgram*, const String&)
+GC3Duint WebGL2RenderingContext::getUniformBlockIndex(WebGLProgram&, const String&)
 {
     return 0;
 }
 
-WebGLAny WebGL2RenderingContext::getActiveUniformBlockParameter(WebGLProgram*, GC3Duint, GC3Denum)
+WebGLAny WebGL2RenderingContext::getActiveUniformBlockParameter(WebGLProgram&, GC3Duint, GC3Denum)
 {
     return nullptr;
 }
 
-WebGLAny WebGL2RenderingContext::getActiveUniformBlockName(WebGLProgram*, GC3Duint)
+WebGLAny WebGL2RenderingContext::getActiveUniformBlockName(WebGLProgram&, GC3Duint)
 {
     return nullptr;
 }
 
-void WebGL2RenderingContext::uniformBlockBinding(WebGLProgram*, GC3Duint, GC3Duint)
+void WebGL2RenderingContext::uniformBlockBinding(WebGLProgram&, GC3Duint, GC3Duint)
 {
 }
 

Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h (221966 => 221967)


--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h	2017-09-13 11:17:27 UTC (rev 221966)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h	2017-09-13 11:47:44 UTC (rev 221967)
@@ -117,10 +117,10 @@
     RefPtr<WebGLQuery> createQuery();
     void deleteQuery(WebGLQuery*);
     GC3Dboolean isQuery(WebGLQuery*);
-    void beginQuery(GC3Denum target, WebGLQuery*);
+    void beginQuery(GC3Denum target, WebGLQuery&);
     void endQuery(GC3Denum target);
     RefPtr<WebGLQuery> getQuery(GC3Denum target, GC3Denum pname);
-    WebGLAny getQueryParameter(WebGLQuery*, GC3Denum pname);
+    WebGLAny getQueryParameter(WebGLQuery&, GC3Denum pname);
     
     // Sampler objects
     RefPtr<WebGLSampler> createSampler();
@@ -127,17 +127,17 @@
     void deleteSampler(WebGLSampler*);
     GC3Dboolean isSampler(WebGLSampler*);
     void bindSampler(GC3Duint unit, WebGLSampler*);
-    void samplerParameteri(WebGLSampler*, GC3Denum pname, GC3Dint param);
-    void samplerParameterf(WebGLSampler*, GC3Denum pname, GC3Dfloat param);
-    WebGLAny getSamplerParameter(WebGLSampler*, GC3Denum pname);
+    void samplerParameteri(WebGLSampler&, GC3Denum pname, GC3Dint param);
+    void samplerParameterf(WebGLSampler&, GC3Denum pname, GC3Dfloat param);
+    WebGLAny getSamplerParameter(WebGLSampler&, GC3Denum pname);
     
     // Sync objects
     RefPtr<WebGLSync> fenceSync(GC3Denum condition, GC3Dbitfield flags);
     GC3Dboolean isSync(WebGLSync*);
     void deleteSync(WebGLSync*);
-    GC3Denum clientWaitSync(WebGLSync*, GC3Dbitfield flags, GC3Duint64 timeout);
-    void waitSync(WebGLSync*, GC3Dbitfield flags, GC3Duint64 timeout);
-    WebGLAny getSyncParameter(WebGLSync*, GC3Denum pname);
+    GC3Denum clientWaitSync(WebGLSync&, GC3Dbitfield flags, GC3Duint64 timeout);
+    void waitSync(WebGLSync&, GC3Dbitfield flags, GC3Duint64 timeout);
+    WebGLAny getSyncParameter(WebGLSync&, GC3Denum pname);
     
     // Transform feedback
     RefPtr<WebGLTransformFeedback> createTransformFeedback();
@@ -146,8 +146,8 @@
     void bindTransformFeedback(GC3Denum target, WebGLTransformFeedback* id);
     void beginTransformFeedback(GC3Denum primitiveMode);
     void endTransformFeedback();
-    void transformFeedbackVaryings(WebGLProgram*, const Vector<String>& varyings, GC3Denum bufferMode);
-    RefPtr<WebGLActiveInfo> getTransformFeedbackVarying(WebGLProgram*, GC3Duint index);
+    void transformFeedbackVaryings(WebGLProgram&, const Vector<String>& varyings, GC3Denum bufferMode);
+    RefPtr<WebGLActiveInfo> getTransformFeedbackVarying(WebGLProgram&, GC3Duint index);
     void pauseTransformFeedback();
     void resumeTransformFeedback();
     
@@ -155,12 +155,12 @@
     void bindBufferBase(GC3Denum target, GC3Duint index, WebGLBuffer*);
     void bindBufferRange(GC3Denum target, GC3Duint index, WebGLBuffer*, GC3Dint64 offset, GC3Dint64 size);
     WebGLAny getIndexedParameter(GC3Denum target, GC3Duint index);
-    Uint32Array* getUniformIndices(WebGLProgram*, const Vector<String>& uniformNames);
+    Uint32Array* getUniformIndices(WebGLProgram&, const Vector<String>& uniformNames);
     WebGLAny getActiveUniforms(WebGLProgram&, const Vector<GC3Duint>& uniformIndices, GC3Denum pname);
-    GC3Duint getUniformBlockIndex(WebGLProgram*, const String& uniformBlockName);
-    WebGLAny getActiveUniformBlockParameter(WebGLProgram*, GC3Duint uniformBlockIndex, GC3Denum pname);
-    WebGLAny getActiveUniformBlockName(WebGLProgram*, GC3Duint uniformBlockIndex);
-    void uniformBlockBinding(WebGLProgram*, GC3Duint uniformBlockIndex, GC3Duint uniformBlockBinding);
+    GC3Duint getUniformBlockIndex(WebGLProgram&, const String& uniformBlockName);
+    WebGLAny getActiveUniformBlockParameter(WebGLProgram&, GC3Duint uniformBlockIndex, GC3Denum pname);
+    WebGLAny getActiveUniformBlockName(WebGLProgram&, GC3Duint uniformBlockIndex);
+    void uniformBlockBinding(WebGLProgram&, GC3Duint uniformBlockIndex, GC3Duint uniformBlockBinding);
     
     // Vertex array objects
     RefPtr<WebGLVertexArrayObject> createVertexArray();

Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.idl (221966 => 221967)


--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.idl	2017-09-13 11:17:27 UTC (rev 221966)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.idl	2017-09-13 11:47:44 UTC (rev 221967)
@@ -388,9 +388,9 @@
     void uniformMatrix3x4fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array value);
     void uniformMatrix4x3fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array value);
     void vertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);
-    void vertexAttribI4iv(GLuint index, Int32Array? v);
+    void vertexAttribI4iv(GLuint index, Int32Array v);
     void vertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
-    void vertexAttribI4uiv(GLuint index, Uint32Array? v);
+    void vertexAttribI4uiv(GLuint index, Uint32Array v);
     void vertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
 
     /* Writing to the drawing buffer */
@@ -401,9 +401,9 @@
 
     /* Multiple Render Targets */
     void drawBuffers(sequence<GLenum> buffers);
-    void clearBufferiv(GLenum buffer, GLint drawbuffer, Int32Array? value);
-    void clearBufferuiv(GLenum buffer, GLint drawbuffer, Uint32Array? value);
-    void clearBufferfv(GLenum buffer, GLint drawbuffer, Float32Array? value);
+    void clearBufferiv(GLenum buffer, GLint drawbuffer, Int32Array values);
+    void clearBufferuiv(GLenum buffer, GLint drawbuffer, Uint32Array values);
+    void clearBufferfv(GLenum buffer, GLint drawbuffer, Float32Array values);
     void clearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
 
     /* Query Objects */
@@ -410,10 +410,10 @@
     WebGLQuery createQuery();
     void deleteQuery(WebGLQuery? query);
     GLboolean isQuery(WebGLQuery? query);
-    void beginQuery(GLenum target, WebGLQuery? query);
+    void beginQuery(GLenum target, WebGLQuery query);
     void endQuery(GLenum target);
     WebGLQuery getQuery(GLenum target, GLenum pname);
-    [OverrideIDLType=IDLWebGLAny] any getQueryParameter(WebGLQuery? query, GLenum pname);
+    [OverrideIDLType=IDLWebGLAny] any getQueryParameter(WebGLQuery query, GLenum pname);
 
     /* Sampler Objects */
     WebGLSampler createSampler();
@@ -420,17 +420,17 @@
     void deleteSampler(WebGLSampler? sampler);
     GLboolean isSampler(WebGLSampler? sampler);
     void bindSampler(GLuint unit, WebGLSampler? sampler);
-    void samplerParameteri(WebGLSampler? sampler, GLenum pname, GLint param);
-    void samplerParameterf(WebGLSampler? sampler, GLenum pname, GLfloat param);
-    [OverrideIDLType=IDLWebGLAny] any getSamplerParameter(WebGLSampler? sampler, GLenum pname);
+    void samplerParameteri(WebGLSampler sampler, GLenum pname, GLint param);
+    void samplerParameterf(WebGLSampler sampler, GLenum pname, GLfloat param);
+    [OverrideIDLType=IDLWebGLAny] any getSamplerParameter(WebGLSampler sampler, GLenum pname);
 
     /* Sync objects */
     WebGLSync fenceSync(GLenum condition, GLbitfield flags);
     GLboolean isSync(WebGLSync? sync);
     void deleteSync(WebGLSync? sync);
-    GLenum clientWaitSync(WebGLSync? sync, GLbitfield flags, GLuint64 timeout);
-    void waitSync(WebGLSync? sync, GLbitfield flags, GLuint64 timeout);
-    [OverrideIDLType=IDLWebGLAny] any getSyncParameter(WebGLSync? sync, GLenum pname);
+    GLenum clientWaitSync(WebGLSync sync, GLbitfield flags, GLuint64 timeout);
+    void waitSync(WebGLSync sync, GLbitfield flags, GLuint64 timeout);
+    [OverrideIDLType=IDLWebGLAny] any getSyncParameter(WebGLSync sync, GLenum pname);
 
     /* Transform Feedback */
     WebGLTransformFeedback createTransformFeedback();
@@ -439,8 +439,8 @@
     void bindTransformFeedback(GLenum target, WebGLTransformFeedback? id);
     void beginTransformFeedback(GLenum primitiveMode);
     void endTransformFeedback();
-    void transformFeedbackVaryings(WebGLProgram? program, sequence<DOMString> varyings, GLenum bufferMode);
-    WebGLActiveInfo getTransformFeedbackVarying(WebGLProgram? program, GLuint index);
+    void transformFeedbackVaryings(WebGLProgram program, sequence<DOMString> varyings, GLenum bufferMode);
+    WebGLActiveInfo getTransformFeedbackVarying(WebGLProgram program, GLuint index);
     void pauseTransformFeedback();
     void resumeTransformFeedback();
 
@@ -448,12 +448,12 @@
     void bindBufferBase(GLenum target, GLuint index, WebGLBuffer? buffer);
     void bindBufferRange(GLenum target, GLuint index, WebGLBuffer? buffer, GLintptr offset, GLsizeiptr size);
     [OverrideIDLType=IDLWebGLAny] any getIndexedParameter(GLenum target, GLuint index);
-    Uint32Array getUniformIndices(WebGLProgram? program, sequence<DOMString> uniformNames);
+    Uint32Array getUniformIndices(WebGLProgram program, sequence<DOMString> uniformNames);
     [OverrideIDLType=IDLWebGLAny] any getActiveUniforms(WebGLProgram program, sequence<GLuint> uniformIndices, GLenum pname);
-    GLuint getUniformBlockIndex(WebGLProgram? program, DOMString uniformBlockName);
-    [OverrideIDLType=IDLWebGLAny] any getActiveUniformBlockParameter(WebGLProgram? program, GLuint uniformBlockIndex, GLenum pname);
-    [OverrideIDLType=IDLWebGLAny] any getActiveUniformBlockName(WebGLProgram? program, GLuint uniformBlockIndex);
-    void uniformBlockBinding(WebGLProgram? program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
+    GLuint getUniformBlockIndex(WebGLProgram program, DOMString uniformBlockName);
+    [OverrideIDLType=IDLWebGLAny] any getActiveUniformBlockParameter(WebGLProgram program, GLuint uniformBlockIndex, GLenum pname);
+    [OverrideIDLType=IDLWebGLAny] any getActiveUniformBlockName(WebGLProgram program, GLuint uniformBlockIndex);
+    void uniformBlockBinding(WebGLProgram program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
 
     /* Vertex Array Objects */
     WebGLVertexArrayObject createVertexArray();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to