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 3982dddc41d4fd2a2963f8324dfcbaff0c419407..fdb9129a9520ca00216399dcd71e0f1997cdf00b 100644 |
--- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
+++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
@@ -1625,8 +1625,8 @@ ImageData* WebGLRenderingContextBase::paintRenderingResultsToImageData( |
return ImageData::create( |
IntSize(width, height), |
- DOMUint8ClampedArray::create(imageDataPixels, 0, |
- imageDataPixels->byteLength())); |
+ NotShared<DOMUint8ClampedArray>(DOMUint8ClampedArray::create( |
+ imageDataPixels, 0, imageDataPixels->byteLength()))); |
} |
void WebGLRenderingContextBase::reshape(int width, int height) { |
@@ -1965,13 +1965,15 @@ void WebGLRenderingContextBase::bufferData(GLenum target, |
bufferDataImpl(target, data->byteLength(), data->data(), usage); |
} |
-void WebGLRenderingContextBase::bufferData(GLenum target, |
- DOMArrayBufferView* data, |
- GLenum usage) { |
+void WebGLRenderingContextBase::bufferData( |
+ GLenum target, |
+ const NotShared<DOMArrayBufferView>& data, |
+ GLenum usage) { |
if (isContextLost()) |
return; |
- DCHECK(data); |
- bufferDataImpl(target, data->byteLength(), data->baseAddress(), usage); |
+ DCHECK(data.view()); |
+ bufferDataImpl(target, data.view()->byteLength(), data.view()->baseAddress(), |
+ usage); |
} |
void WebGLRenderingContextBase::bufferSubDataImpl(GLenum target, |
@@ -2138,13 +2140,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, |
+ const NotShared<DOMArrayBufferView>& data) { |
if (isContextLost()) |
return; |
if (!validateTexture2DBinding("compressedTexImage2D", target)) |
@@ -2152,8 +2155,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( |
@@ -2164,16 +2167,16 @@ void WebGLRenderingContextBase::compressedTexSubImage2D( |
GLsizei width, |
GLsizei height, |
GLenum format, |
- DOMArrayBufferView* data) { |
+ const 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( |
@@ -4157,14 +4160,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, |
+ const NotShared<DOMArrayBufferView>& pixels) { |
+ readPixelsHelper(x, y, width, height, format, type, pixels.view(), 0); |
} |
void WebGLRenderingContextBase::readPixelsHelper(GLint x, |
@@ -4769,18 +4773,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, |
+ const NotShared<DOMArrayBufferView>& pixels) { |
texImageHelperDOMArrayBufferView(TexImage2D, target, level, internalformat, |
width, height, 1, border, format, type, 0, 0, |
- 0, pixels, NullAllowed, 0); |
+ 0, pixels.view(), NullAllowed, 0); |
} |
void WebGLRenderingContextBase::texImageHelperImageData( |
@@ -5593,18 +5598,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, |
+ const NotShared<DOMArrayBufferView>& pixels) { |
texImageHelperDOMArrayBufferView(TexSubImage2D, target, level, 0, width, |
height, 1, 0, format, type, xoffset, yoffset, |
- 0, pixels, NullNotAllowed, 0); |
+ 0, pixels.view(), NullNotAllowed, 0); |
} |
void WebGLRenderingContextBase::texSubImage2D(GLenum target, |
@@ -5966,13 +5972,13 @@ void WebGLRenderingContextBase::uniform4iv(const WebGLUniformLocation* location, |
void WebGLRenderingContextBase::uniformMatrix2fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v) { |
+ const 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( |
@@ -5990,13 +5996,13 @@ void WebGLRenderingContextBase::uniformMatrix2fv( |
void WebGLRenderingContextBase::uniformMatrix3fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v) { |
+ const 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( |
@@ -6014,13 +6020,13 @@ void WebGLRenderingContextBase::uniformMatrix3fv( |
void WebGLRenderingContextBase::uniformMatrix4fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v) { |
+ const 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( |
@@ -6076,15 +6082,16 @@ void WebGLRenderingContextBase::vertexAttrib1f(GLuint index, GLfloat v0) { |
setVertexAttribType(index, Float32ArrayType); |
} |
-void WebGLRenderingContextBase::vertexAttrib1fv(GLuint index, |
- const DOMFloat32Array* v) { |
+void WebGLRenderingContextBase::vertexAttrib1fv( |
+ GLuint index, |
+ const 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, Float32ArrayType); |
} |
@@ -6109,15 +6116,16 @@ void WebGLRenderingContextBase::vertexAttrib2f(GLuint index, |
setVertexAttribType(index, Float32ArrayType); |
} |
-void WebGLRenderingContextBase::vertexAttrib2fv(GLuint index, |
- const DOMFloat32Array* v) { |
+void WebGLRenderingContextBase::vertexAttrib2fv( |
+ GLuint index, |
+ const 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, Float32ArrayType); |
} |
@@ -6143,15 +6151,16 @@ void WebGLRenderingContextBase::vertexAttrib3f(GLuint index, |
setVertexAttribType(index, Float32ArrayType); |
} |
-void WebGLRenderingContextBase::vertexAttrib3fv(GLuint index, |
- const DOMFloat32Array* v) { |
+void WebGLRenderingContextBase::vertexAttrib3fv( |
+ GLuint index, |
+ const 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, Float32ArrayType); |
} |
@@ -6178,15 +6187,16 @@ void WebGLRenderingContextBase::vertexAttrib4f(GLuint index, |
setVertexAttribType(index, Float32ArrayType); |
} |
-void WebGLRenderingContextBase::vertexAttrib4fv(GLuint index, |
- const DOMFloat32Array* v) { |
+void WebGLRenderingContextBase::vertexAttrib4fv( |
+ GLuint index, |
+ const 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, Float32ArrayType); |
} |