| Index: Source/modules/webgl/WebGLRenderingContextBase.h
|
| diff --git a/Source/modules/webgl/WebGLRenderingContextBase.h b/Source/modules/webgl/WebGLRenderingContextBase.h
|
| index 0e9314f1a80ea2ee372887cca819c1dd11bcf4fa..e8837883200fd05c3a07020a3e8da035902222ab 100644
|
| --- a/Source/modules/webgl/WebGLRenderingContextBase.h
|
| +++ b/Source/modules/webgl/WebGLRenderingContextBase.h
|
| @@ -32,6 +32,7 @@
|
| #include "bindings/core/v8/ScriptWrappable.h"
|
| #include "core/CoreExport.h"
|
| #include "core/dom/DOMTypedArray.h"
|
| +#include "core/dom/TypedFlexibleArrayBufferView.h"
|
| #include "core/html/canvas/CanvasRenderingContext.h"
|
| #include "core/layout/LayoutBoxModelObject.h"
|
| #include "core/page/Page.h"
|
| @@ -156,7 +157,7 @@ public:
|
| void bufferData(GLenum target, DOMArrayBuffer* data, GLenum usage);
|
| void bufferData(GLenum target, DOMArrayBufferView* data, GLenum usage);
|
| void bufferSubData(GLenum target, long long offset, DOMArrayBuffer* data);
|
| - void bufferSubData(GLenum target, long long offset, DOMArrayBufferView* data);
|
| + void bufferSubData(GLenum target, long long offset, const FlexibleArrayBufferView& data);
|
|
|
| GLenum checkFramebufferStatus(GLenum target);
|
| void clear(GLbitfield mask);
|
| @@ -288,28 +289,28 @@ public:
|
| GLenum format, GLenum type, HTMLVideoElement*, ExceptionState&);
|
|
|
| void uniform1f(const WebGLUniformLocation*, GLfloat x);
|
| - void uniform1fv(const WebGLUniformLocation*, DOMFloat32Array* v);
|
| + void uniform1fv(const WebGLUniformLocation*, const FlexibleFloat32ArrayView&);
|
| void uniform1fv(const WebGLUniformLocation*, Vector<GLfloat>&);
|
| void uniform1i(const WebGLUniformLocation*, GLint x);
|
| - void uniform1iv(const WebGLUniformLocation*, DOMInt32Array* v);
|
| + void uniform1iv(const WebGLUniformLocation*, const FlexibleInt32ArrayView&);
|
| void uniform1iv(const WebGLUniformLocation*, Vector<GLint>&);
|
| void uniform2f(const WebGLUniformLocation*, GLfloat x, GLfloat y);
|
| - void uniform2fv(const WebGLUniformLocation*, DOMFloat32Array* v);
|
| + void uniform2fv(const WebGLUniformLocation*, const FlexibleFloat32ArrayView&);
|
| void uniform2fv(const WebGLUniformLocation*, Vector<GLfloat>&);
|
| void uniform2i(const WebGLUniformLocation*, GLint x, GLint y);
|
| - void uniform2iv(const WebGLUniformLocation*, DOMInt32Array* v);
|
| + void uniform2iv(const WebGLUniformLocation*, const FlexibleInt32ArrayView&);
|
| void uniform2iv(const WebGLUniformLocation*, Vector<GLint>&);
|
| void uniform3f(const WebGLUniformLocation*, GLfloat x, GLfloat y, GLfloat z);
|
| - void uniform3fv(const WebGLUniformLocation*, DOMFloat32Array* v);
|
| + void uniform3fv(const WebGLUniformLocation*, const FlexibleFloat32ArrayView&);
|
| void uniform3fv(const WebGLUniformLocation*, Vector<GLfloat>&);
|
| void uniform3i(const WebGLUniformLocation*, GLint x, GLint y, GLint z);
|
| - void uniform3iv(const WebGLUniformLocation*, DOMInt32Array* v);
|
| + void uniform3iv(const WebGLUniformLocation*, const FlexibleInt32ArrayView&);
|
| void uniform3iv(const WebGLUniformLocation*, Vector<GLint>&);
|
| void uniform4f(const WebGLUniformLocation*, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
| - void uniform4fv(const WebGLUniformLocation*, DOMFloat32Array* v);
|
| + void uniform4fv(const WebGLUniformLocation*, const FlexibleFloat32ArrayView&);
|
| void uniform4fv(const WebGLUniformLocation*, Vector<GLfloat>&);
|
| void uniform4i(const WebGLUniformLocation*, GLint x, GLint y, GLint z, GLint w);
|
| - void uniform4iv(const WebGLUniformLocation*, DOMInt32Array* v);
|
| + void uniform4iv(const WebGLUniformLocation*, const FlexibleInt32ArrayView&);
|
| void uniform4iv(const WebGLUniformLocation*, Vector<GLint>&);
|
| void uniformMatrix2fv(const WebGLUniformLocation*, GLboolean transpose, DOMFloat32Array* value);
|
| void uniformMatrix2fv(const WebGLUniformLocation*, GLboolean transpose, Vector<GLfloat>& value);
|
| @@ -938,6 +939,9 @@ protected:
|
| bool validateUniformMatrixParameters(const char* functionName, const WebGLUniformLocation*, GLboolean transpose, DOMFloat32Array*, GLsizei mod);
|
| bool validateUniformMatrixParameters(const char* functionName, const WebGLUniformLocation*, GLboolean transpose, void*, GLsizei, GLsizei mod);
|
|
|
| + template<typename WTFTypedArray>
|
| + bool validateUniformParameters(const char*, const WebGLUniformLocation*, const TypedFlexibleArrayBufferView<WTFTypedArray>&, GLsizei);
|
| +
|
| // Helper function to validate the target for bufferData and getBufferParameter.
|
| virtual bool validateBufferTarget(const char* functionName, GLenum target);
|
|
|
|
|