| Index: third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
|
| diff --git a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
|
| index 60957a197799bcf24886ad87c304cef6a9bc4276..3934d5f33d9e5a7c000dfd90b7d7a078a2d60a6a 100644
|
| --- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
|
| +++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
|
| @@ -1562,8 +1562,8 @@ ImageData* WebGLRenderingContextBase::PaintRenderingResultsToImageData(
|
|
|
| return ImageData::Create(
|
| IntSize(width, height),
|
| - DOMUint8ClampedArray::Create(image_data_pixels, 0,
|
| - image_data_pixels->ByteLength()));
|
| + NotShared<DOMUint8ClampedArray>(DOMUint8ClampedArray::Create(
|
| + image_data_pixels, 0, image_data_pixels->ByteLength())));
|
| }
|
|
|
| void WebGLRenderingContextBase::Reshape(int width, int height) {
|
| @@ -1903,12 +1903,13 @@ void WebGLRenderingContextBase::bufferData(GLenum target,
|
| }
|
|
|
| void WebGLRenderingContextBase::bufferData(GLenum target,
|
| - DOMArrayBufferView* data,
|
| + NotShared<DOMArrayBufferView> data,
|
| GLenum usage) {
|
| if (isContextLost())
|
| return;
|
| DCHECK(data);
|
| - BufferDataImpl(target, data->byteLength(), data->BaseAddress(), usage);
|
| + BufferDataImpl(target, data.View()->byteLength(), data.View()->BaseAddress(),
|
| + usage);
|
| }
|
|
|
| void WebGLRenderingContextBase::BufferSubDataImpl(GLenum target,
|
| @@ -2075,13 +2076,14 @@ void WebGLRenderingContextBase::compileShader(WebGLShader* shader) {
|
| ContextGL()->CompileShader(ObjectOrZero(shader));
|
| }
|
|
|
| -void WebGLRenderingContextBase::compressedTexImage2D(GLenum target,
|
| - GLint level,
|
| - GLenum internalformat,
|
| - GLsizei width,
|
| - GLsizei height,
|
| - GLint border,
|
| - DOMArrayBufferView* data) {
|
| +void WebGLRenderingContextBase::compressedTexImage2D(
|
| + GLenum target,
|
| + GLint level,
|
| + GLenum internalformat,
|
| + GLsizei width,
|
| + GLsizei height,
|
| + GLint border,
|
| + NotShared<DOMArrayBufferView> data) {
|
| if (isContextLost())
|
| return;
|
| if (!ValidateTexture2DBinding("compressedTexImage2D", target))
|
| @@ -2089,8 +2091,8 @@ void WebGLRenderingContextBase::compressedTexImage2D(GLenum target,
|
| if (!ValidateCompressedTexFormat("compressedTexImage2D", internalformat))
|
| return;
|
| ContextGL()->CompressedTexImage2D(target, level, internalformat, width,
|
| - height, border, data->byteLength(),
|
| - data->BaseAddress());
|
| + height, border, data.View()->byteLength(),
|
| + data.View()->BaseAddress());
|
| }
|
|
|
| void WebGLRenderingContextBase::compressedTexSubImage2D(
|
| @@ -2101,16 +2103,16 @@ void WebGLRenderingContextBase::compressedTexSubImage2D(
|
| GLsizei width,
|
| GLsizei height,
|
| GLenum format,
|
| - DOMArrayBufferView* data) {
|
| + NotShared<DOMArrayBufferView> data) {
|
| if (isContextLost())
|
| return;
|
| if (!ValidateTexture2DBinding("compressedTexSubImage2D", target))
|
| return;
|
| if (!ValidateCompressedTexFormat("compressedTexSubImage2D", format))
|
| return;
|
| - ContextGL()->CompressedTexSubImage2D(target, level, xoffset, yoffset, width,
|
| - height, format, data->byteLength(),
|
| - data->BaseAddress());
|
| + ContextGL()->CompressedTexSubImage2D(
|
| + target, level, xoffset, yoffset, width, height, format,
|
| + data.View()->byteLength(), data.View()->BaseAddress());
|
| }
|
|
|
| bool WebGLRenderingContextBase::ValidateSettableTexFormat(
|
| @@ -4106,14 +4108,15 @@ bool WebGLRenderingContextBase::ValidateReadPixelsFuncParameters(
|
| return true;
|
| }
|
|
|
| -void WebGLRenderingContextBase::readPixels(GLint x,
|
| - GLint y,
|
| - GLsizei width,
|
| - GLsizei height,
|
| - GLenum format,
|
| - GLenum type,
|
| - DOMArrayBufferView* pixels) {
|
| - ReadPixelsHelper(x, y, width, height, format, type, pixels, 0);
|
| +void WebGLRenderingContextBase::readPixels(
|
| + GLint x,
|
| + GLint y,
|
| + GLsizei width,
|
| + GLsizei height,
|
| + GLenum format,
|
| + GLenum type,
|
| + NotShared<DOMArrayBufferView> pixels) {
|
| + ReadPixelsHelper(x, y, width, height, format, type, pixels.View(), 0);
|
| }
|
|
|
| void WebGLRenderingContextBase::ReadPixelsHelper(GLint x,
|
| @@ -4720,18 +4723,19 @@ void WebGLRenderingContextBase::TexImageHelperDOMArrayBufferView(
|
| format, type, data);
|
| }
|
|
|
| -void WebGLRenderingContextBase::texImage2D(GLenum target,
|
| - GLint level,
|
| - GLint internalformat,
|
| - GLsizei width,
|
| - GLsizei height,
|
| - GLint border,
|
| - GLenum format,
|
| - GLenum type,
|
| - DOMArrayBufferView* pixels) {
|
| +void WebGLRenderingContextBase::texImage2D(
|
| + GLenum target,
|
| + GLint level,
|
| + GLint internalformat,
|
| + GLsizei width,
|
| + GLsizei height,
|
| + GLint border,
|
| + GLenum format,
|
| + GLenum type,
|
| + NotShared<DOMArrayBufferView> pixels) {
|
| TexImageHelperDOMArrayBufferView(kTexImage2D, target, level, internalformat,
|
| width, height, 1, border, format, type, 0, 0,
|
| - 0, pixels, kNullAllowed, 0);
|
| + 0, pixels.View(), kNullAllowed, 0);
|
| }
|
|
|
| void WebGLRenderingContextBase::TexImageHelperImageData(
|
| @@ -5554,18 +5558,19 @@ void WebGLRenderingContextBase::texParameteri(GLenum target,
|
| TexParameter(target, pname, 0, param, false);
|
| }
|
|
|
| -void WebGLRenderingContextBase::texSubImage2D(GLenum target,
|
| - GLint level,
|
| - GLint xoffset,
|
| - GLint yoffset,
|
| - GLsizei width,
|
| - GLsizei height,
|
| - GLenum format,
|
| - GLenum type,
|
| - DOMArrayBufferView* pixels) {
|
| +void WebGLRenderingContextBase::texSubImage2D(
|
| + GLenum target,
|
| + GLint level,
|
| + GLint xoffset,
|
| + GLint yoffset,
|
| + GLsizei width,
|
| + GLsizei height,
|
| + GLenum format,
|
| + GLenum type,
|
| + NotShared<DOMArrayBufferView> pixels) {
|
| TexImageHelperDOMArrayBufferView(kTexSubImage2D, target, level, 0, width,
|
| height, 1, 0, format, type, xoffset, yoffset,
|
| - 0, pixels, kNullNotAllowed, 0);
|
| + 0, pixels.View(), kNullNotAllowed, 0);
|
| }
|
|
|
| void WebGLRenderingContextBase::texSubImage2D(GLenum target,
|
| @@ -5919,13 +5924,13 @@ void WebGLRenderingContextBase::uniform4iv(const WebGLUniformLocation* location,
|
| void WebGLRenderingContextBase::uniformMatrix2fv(
|
| const WebGLUniformLocation* location,
|
| GLboolean transpose,
|
| - DOMFloat32Array* v) {
|
| + NotShared<DOMFloat32Array> v) {
|
| if (isContextLost() ||
|
| !ValidateUniformMatrixParameters("uniformMatrix2fv", location, transpose,
|
| - v, 4, 0, v->length()))
|
| + v.View(), 4, 0, v.View()->length()))
|
| return;
|
| - ContextGL()->UniformMatrix2fv(location->Location(), v->length() >> 2,
|
| - transpose, v->Data());
|
| + ContextGL()->UniformMatrix2fv(location->Location(), v.View()->length() >> 2,
|
| + transpose, v.View()->Data());
|
| }
|
|
|
| void WebGLRenderingContextBase::uniformMatrix2fv(
|
| @@ -5943,13 +5948,13 @@ void WebGLRenderingContextBase::uniformMatrix2fv(
|
| void WebGLRenderingContextBase::uniformMatrix3fv(
|
| const WebGLUniformLocation* location,
|
| GLboolean transpose,
|
| - DOMFloat32Array* v) {
|
| + NotShared<DOMFloat32Array> v) {
|
| if (isContextLost() ||
|
| !ValidateUniformMatrixParameters("uniformMatrix3fv", location, transpose,
|
| - v, 9, 0, v->length()))
|
| + v.View(), 9, 0, v.View()->length()))
|
| return;
|
| - ContextGL()->UniformMatrix3fv(location->Location(), v->length() / 9,
|
| - transpose, v->Data());
|
| + ContextGL()->UniformMatrix3fv(location->Location(), v.View()->length() / 9,
|
| + transpose, v.View()->Data());
|
| }
|
|
|
| void WebGLRenderingContextBase::uniformMatrix3fv(
|
| @@ -5967,13 +5972,13 @@ void WebGLRenderingContextBase::uniformMatrix3fv(
|
| void WebGLRenderingContextBase::uniformMatrix4fv(
|
| const WebGLUniformLocation* location,
|
| GLboolean transpose,
|
| - DOMFloat32Array* v) {
|
| + NotShared<DOMFloat32Array> v) {
|
| if (isContextLost() ||
|
| !ValidateUniformMatrixParameters("uniformMatrix4fv", location, transpose,
|
| - v, 16, 0, v->length()))
|
| + v.View(), 16, 0, v.View()->length()))
|
| return;
|
| - ContextGL()->UniformMatrix4fv(location->Location(), v->length() >> 4,
|
| - transpose, v->Data());
|
| + ContextGL()->UniformMatrix4fv(location->Location(), v.View()->length() >> 4,
|
| + transpose, v.View()->Data());
|
| }
|
|
|
| void WebGLRenderingContextBase::uniformMatrix4fv(
|
| @@ -6029,15 +6034,16 @@ void WebGLRenderingContextBase::vertexAttrib1f(GLuint index, GLfloat v0) {
|
| SetVertexAttribType(index, kFloat32ArrayType);
|
| }
|
|
|
| -void WebGLRenderingContextBase::vertexAttrib1fv(GLuint index,
|
| - const DOMFloat32Array* v) {
|
| +void WebGLRenderingContextBase::vertexAttrib1fv(
|
| + GLuint index,
|
| + NotShared<const DOMFloat32Array> v) {
|
| if (isContextLost())
|
| return;
|
| - if (!v || v->length() < 1) {
|
| + if (!v.View() || v.View()->length() < 1) {
|
| SynthesizeGLError(GL_INVALID_VALUE, "vertexAttrib1fv", "invalid array");
|
| return;
|
| }
|
| - ContextGL()->VertexAttrib1fv(index, v->Data());
|
| + ContextGL()->VertexAttrib1fv(index, v.View()->Data());
|
| SetVertexAttribType(index, kFloat32ArrayType);
|
| }
|
|
|
| @@ -6062,15 +6068,16 @@ void WebGLRenderingContextBase::vertexAttrib2f(GLuint index,
|
| SetVertexAttribType(index, kFloat32ArrayType);
|
| }
|
|
|
| -void WebGLRenderingContextBase::vertexAttrib2fv(GLuint index,
|
| - const DOMFloat32Array* v) {
|
| +void WebGLRenderingContextBase::vertexAttrib2fv(
|
| + GLuint index,
|
| + NotShared<const DOMFloat32Array> v) {
|
| if (isContextLost())
|
| return;
|
| - if (!v || v->length() < 2) {
|
| + if (!v.View() || v.View()->length() < 2) {
|
| SynthesizeGLError(GL_INVALID_VALUE, "vertexAttrib2fv", "invalid array");
|
| return;
|
| }
|
| - ContextGL()->VertexAttrib2fv(index, v->Data());
|
| + ContextGL()->VertexAttrib2fv(index, v.View()->Data());
|
| SetVertexAttribType(index, kFloat32ArrayType);
|
| }
|
|
|
| @@ -6096,15 +6103,16 @@ void WebGLRenderingContextBase::vertexAttrib3f(GLuint index,
|
| SetVertexAttribType(index, kFloat32ArrayType);
|
| }
|
|
|
| -void WebGLRenderingContextBase::vertexAttrib3fv(GLuint index,
|
| - const DOMFloat32Array* v) {
|
| +void WebGLRenderingContextBase::vertexAttrib3fv(
|
| + GLuint index,
|
| + NotShared<const DOMFloat32Array> v) {
|
| if (isContextLost())
|
| return;
|
| - if (!v || v->length() < 3) {
|
| + if (!v.View() || v.View()->length() < 3) {
|
| SynthesizeGLError(GL_INVALID_VALUE, "vertexAttrib3fv", "invalid array");
|
| return;
|
| }
|
| - ContextGL()->VertexAttrib3fv(index, v->Data());
|
| + ContextGL()->VertexAttrib3fv(index, v.View()->Data());
|
| SetVertexAttribType(index, kFloat32ArrayType);
|
| }
|
|
|
| @@ -6131,15 +6139,16 @@ void WebGLRenderingContextBase::vertexAttrib4f(GLuint index,
|
| SetVertexAttribType(index, kFloat32ArrayType);
|
| }
|
|
|
| -void WebGLRenderingContextBase::vertexAttrib4fv(GLuint index,
|
| - const DOMFloat32Array* v) {
|
| +void WebGLRenderingContextBase::vertexAttrib4fv(
|
| + GLuint index,
|
| + NotShared<const DOMFloat32Array> v) {
|
| if (isContextLost())
|
| return;
|
| - if (!v || v->length() < 4) {
|
| + if (!v.View() || v.View()->length() < 4) {
|
| SynthesizeGLError(GL_INVALID_VALUE, "vertexAttrib4fv", "invalid array");
|
| return;
|
| }
|
| - ContextGL()->VertexAttrib4fv(index, v->Data());
|
| + ContextGL()->VertexAttrib4fv(index, v.View()->Data());
|
| SetVertexAttribType(index, kFloat32ArrayType);
|
| }
|
|
|
|
|