Index: third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp |
diff --git a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp |
index a3da846049bfe5db49feaba7ced2aecc5124e88d..7f33de44765f909524de4350a4acb10fc46dce91 100644 |
--- a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp |
+++ b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp |
@@ -248,17 +248,18 @@ void WebGL2RenderingContextBase::initializeNewContext() { |
WebGLRenderingContextBase::initializeNewContext(); |
} |
-void WebGL2RenderingContextBase::bufferData(GLenum target, |
- DOMArrayBufferView* srcData, |
- GLenum usage, |
- GLuint srcOffset, |
- GLuint length) { |
+void WebGL2RenderingContextBase::bufferData( |
+ GLenum target, |
+ NotShared<DOMArrayBufferView> srcData, |
+ GLenum usage, |
+ GLuint srcOffset, |
+ GLuint length) { |
if (isContextLost()) |
return; |
void* subBaseAddress = nullptr; |
long long subByteLength = 0; |
- if (!validateSubSourceAndGetData(srcData, srcOffset, length, &subBaseAddress, |
- &subByteLength)) { |
+ if (!validateSubSourceAndGetData(srcData.view(), srcOffset, length, |
+ &subBaseAddress, &subByteLength)) { |
synthesizeGLError(GL_INVALID_VALUE, "bufferData", |
"srcOffset + length too large"); |
return; |
@@ -279,22 +280,23 @@ void WebGL2RenderingContextBase::bufferData(GLenum target, |
} |
void WebGL2RenderingContextBase::bufferData(GLenum target, |
- DOMArrayBufferView* data, |
+ NotShared<DOMArrayBufferView> data, |
GLenum usage) { |
WebGLRenderingContextBase::bufferData(target, data, usage); |
} |
-void WebGL2RenderingContextBase::bufferSubData(GLenum target, |
- GLintptr dstByteOffset, |
- DOMArrayBufferView* srcData, |
- GLuint srcOffset, |
- GLuint length) { |
+void WebGL2RenderingContextBase::bufferSubData( |
+ GLenum target, |
+ GLintptr dstByteOffset, |
+ NotShared<DOMArrayBufferView> srcData, |
+ GLuint srcOffset, |
+ GLuint length) { |
if (isContextLost()) |
return; |
void* subBaseAddress = nullptr; |
long long subByteLength = 0; |
- if (!validateSubSourceAndGetData(srcData, srcOffset, length, &subBaseAddress, |
- &subByteLength)) { |
+ if (!validateSubSourceAndGetData(srcData.view(), srcOffset, length, |
+ &subBaseAddress, &subByteLength)) { |
synthesizeGLError(GL_INVALID_VALUE, "bufferSubData", |
"srcOffset + length too large"); |
return; |
@@ -365,16 +367,17 @@ void WebGL2RenderingContextBase::copyBufferSubData(GLenum readTarget, |
static_cast<GLintptr>(writeOffset), static_cast<GLsizeiptr>(size)); |
} |
-void WebGL2RenderingContextBase::getBufferSubData(GLenum target, |
- long long srcByteOffset, |
- DOMArrayBufferView* dstData, |
- GLuint dstOffset, |
- GLuint length) { |
+void WebGL2RenderingContextBase::getBufferSubData( |
+ GLenum target, |
+ long long srcByteOffset, |
+ NotShared<DOMArrayBufferView> dstData, |
+ GLuint dstOffset, |
+ GLuint length) { |
WebGLBuffer* sourceBuffer = nullptr; |
void* destinationDataPtr = nullptr; |
long long destinationByteLength = 0; |
const char* message = validateGetBufferSubData( |
- __FUNCTION__, target, srcByteOffset, dstData, dstOffset, length, |
+ __FUNCTION__, target, srcByteOffset, dstData.view(), dstOffset, length, |
&sourceBuffer, &destinationDataPtr, &destinationByteLength); |
if (message) { |
// If there was a GL error, it was already synthesized in |
@@ -765,13 +768,14 @@ void WebGL2RenderingContextBase::pixelStorei(GLenum pname, GLint param) { |
contextGL()->PixelStorei(pname, param); |
} |
-void WebGL2RenderingContextBase::readPixels(GLint x, |
- GLint y, |
- GLsizei width, |
- GLsizei height, |
- GLenum format, |
- GLenum type, |
- DOMArrayBufferView* pixels) { |
+void WebGL2RenderingContextBase::readPixels( |
+ GLint x, |
+ GLint y, |
+ GLsizei width, |
+ GLsizei height, |
+ GLenum format, |
+ GLenum type, |
+ NotShared<DOMArrayBufferView> pixels) { |
if (isContextLost()) |
return; |
if (m_boundPixelPackBuffer.get()) { |
@@ -780,17 +784,18 @@ void WebGL2RenderingContextBase::readPixels(GLint x, |
return; |
} |
- readPixelsHelper(x, y, width, height, format, type, pixels, 0); |
+ readPixelsHelper(x, y, width, height, format, type, pixels.view(), 0); |
} |
-void WebGL2RenderingContextBase::readPixels(GLint x, |
- GLint y, |
- GLsizei width, |
- GLsizei height, |
- GLenum format, |
- GLenum type, |
- DOMArrayBufferView* pixels, |
- GLuint offset) { |
+void WebGL2RenderingContextBase::readPixels( |
+ GLint x, |
+ GLint y, |
+ GLsizei width, |
+ GLsizei height, |
+ GLenum format, |
+ GLenum type, |
+ NotShared<DOMArrayBufferView> pixels, |
+ GLuint offset) { |
if (isContextLost()) |
return; |
if (m_boundPixelPackBuffer.get()) { |
@@ -799,7 +804,7 @@ void WebGL2RenderingContextBase::readPixels(GLint x, |
return; |
} |
- readPixelsHelper(x, y, width, height, format, type, pixels, offset); |
+ readPixelsHelper(x, y, width, height, format, type, pixels.view(), offset); |
} |
void WebGL2RenderingContextBase::readPixels(GLint x, |
@@ -1142,15 +1147,16 @@ void WebGL2RenderingContextBase::texSubImage2D(GLenum target, |
reinterpret_cast<const void*>(offset)); |
} |
-void WebGL2RenderingContextBase::texImage2D(GLenum target, |
- GLint level, |
- GLint internalformat, |
- GLsizei width, |
- GLsizei height, |
- GLint border, |
- GLenum format, |
- GLenum type, |
- DOMArrayBufferView* data) { |
+void WebGL2RenderingContextBase::texImage2D( |
+ GLenum target, |
+ GLint level, |
+ GLint internalformat, |
+ GLsizei width, |
+ GLsizei height, |
+ GLint border, |
+ GLenum format, |
+ GLenum type, |
+ NotShared<DOMArrayBufferView> data) { |
if (isContextLost()) |
return; |
if (m_boundPixelUnpackBuffer) { |
@@ -1170,7 +1176,7 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target, |
GLint border, |
GLenum format, |
GLenum type, |
- DOMArrayBufferView* data, |
+ NotShared<DOMArrayBufferView> data, |
GLuint srcOffset) { |
if (isContextLost()) |
return; |
@@ -1181,7 +1187,7 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target, |
} |
texImageHelperDOMArrayBufferView(TexImage2D, target, level, internalformat, |
width, height, 1, border, format, type, 0, 0, |
- 0, data, NullNotReachable, srcOffset); |
+ 0, data.view(), NullNotReachable, srcOffset); |
} |
void WebGL2RenderingContextBase::texImage2D(GLenum target, |
@@ -1385,15 +1391,16 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target, |
type, imageBitMap, exceptionState); |
} |
-void WebGL2RenderingContextBase::texSubImage2D(GLenum target, |
- GLint level, |
- GLint xoffset, |
- GLint yoffset, |
- GLsizei width, |
- GLsizei height, |
- GLenum format, |
- GLenum type, |
- DOMArrayBufferView* pixels) { |
+void WebGL2RenderingContextBase::texSubImage2D( |
+ GLenum target, |
+ GLint level, |
+ GLint xoffset, |
+ GLint yoffset, |
+ GLsizei width, |
+ GLsizei height, |
+ GLenum format, |
+ GLenum type, |
+ NotShared<DOMArrayBufferView> pixels) { |
if (isContextLost()) |
return; |
if (m_boundPixelUnpackBuffer) { |
@@ -1405,16 +1412,17 @@ void WebGL2RenderingContextBase::texSubImage2D(GLenum target, |
width, height, format, type, pixels); |
} |
-void WebGL2RenderingContextBase::texSubImage2D(GLenum target, |
- GLint level, |
- GLint xoffset, |
- GLint yoffset, |
- GLsizei width, |
- GLsizei height, |
- GLenum format, |
- GLenum type, |
- DOMArrayBufferView* pixels, |
- GLuint srcOffset) { |
+void WebGL2RenderingContextBase::texSubImage2D( |
+ GLenum target, |
+ GLint level, |
+ GLint xoffset, |
+ GLint yoffset, |
+ GLsizei width, |
+ GLsizei height, |
+ GLenum format, |
+ GLenum type, |
+ NotShared<DOMArrayBufferView> pixels, |
+ GLuint srcOffset) { |
if (isContextLost()) |
return; |
if (m_boundPixelUnpackBuffer) { |
@@ -1422,9 +1430,9 @@ void WebGL2RenderingContextBase::texSubImage2D(GLenum target, |
"a buffer is bound to PIXEL_UNPACK_BUFFER"); |
return; |
} |
- texImageHelperDOMArrayBufferView(TexSubImage2D, target, level, 0, width, |
- height, 1, 0, format, type, xoffset, yoffset, |
- 0, pixels, NullNotReachable, srcOffset); |
+ texImageHelperDOMArrayBufferView( |
+ TexSubImage2D, target, level, 0, width, height, 1, 0, format, type, |
+ xoffset, yoffset, 0, pixels.view(), NullNotReachable, srcOffset); |
} |
void WebGL2RenderingContextBase::texSubImage2D(GLenum target, |
@@ -1655,32 +1663,34 @@ void WebGL2RenderingContextBase::texStorage3D(GLenum target, |
depth); |
} |
-void WebGL2RenderingContextBase::texImage3D(GLenum target, |
- GLint level, |
- GLint internalformat, |
- GLsizei width, |
- GLsizei height, |
- GLsizei depth, |
- GLint border, |
- GLenum format, |
- GLenum type, |
- DOMArrayBufferView* pixels) { |
+void WebGL2RenderingContextBase::texImage3D( |
+ GLenum target, |
+ GLint level, |
+ GLint internalformat, |
+ GLsizei width, |
+ GLsizei height, |
+ GLsizei depth, |
+ GLint border, |
+ GLenum format, |
+ GLenum type, |
+ NotShared<DOMArrayBufferView> pixels) { |
texImageHelperDOMArrayBufferView(TexImage3D, target, level, internalformat, |
width, height, depth, border, format, type, |
- 0, 0, 0, pixels, NullAllowed, 0); |
+ 0, 0, 0, pixels.view(), NullAllowed, 0); |
} |
-void WebGL2RenderingContextBase::texImage3D(GLenum target, |
- GLint level, |
- GLint internalformat, |
- GLsizei width, |
- GLsizei height, |
- GLsizei depth, |
- GLint border, |
- GLenum format, |
- GLenum type, |
- DOMArrayBufferView* pixels, |
- GLuint srcOffset) { |
+void WebGL2RenderingContextBase::texImage3D( |
+ GLenum target, |
+ GLint level, |
+ GLint internalformat, |
+ GLsizei width, |
+ GLsizei height, |
+ GLsizei depth, |
+ GLint border, |
+ GLenum format, |
+ GLenum type, |
+ NotShared<DOMArrayBufferView> pixels, |
+ GLuint srcOffset) { |
if (isContextLost()) |
return; |
if (m_boundPixelUnpackBuffer) { |
@@ -1690,7 +1700,7 @@ void WebGL2RenderingContextBase::texImage3D(GLenum target, |
} |
texImageHelperDOMArrayBufferView( |
TexImage3D, target, level, internalformat, width, height, depth, border, |
- format, type, 0, 0, 0, pixels, NullNotReachable, srcOffset); |
+ format, type, 0, 0, 0, pixels.view(), NullNotReachable, srcOffset); |
} |
void WebGL2RenderingContextBase::texImage3D(GLenum target, |
@@ -1840,18 +1850,19 @@ void WebGL2RenderingContextBase::texImage3D(GLenum target, |
m_unpackImageHeight, exceptionState); |
} |
-void WebGL2RenderingContextBase::texSubImage3D(GLenum target, |
- GLint level, |
- GLint xoffset, |
- GLint yoffset, |
- GLint zoffset, |
- GLsizei width, |
- GLsizei height, |
- GLsizei depth, |
- GLenum format, |
- GLenum type, |
- DOMArrayBufferView* pixels, |
- GLuint srcOffset) { |
+void WebGL2RenderingContextBase::texSubImage3D( |
+ GLenum target, |
+ GLint level, |
+ GLint xoffset, |
+ GLint yoffset, |
+ GLint zoffset, |
+ GLsizei width, |
+ GLsizei height, |
+ GLsizei depth, |
+ GLenum format, |
+ GLenum type, |
+ NotShared<DOMArrayBufferView> pixels, |
+ GLuint srcOffset) { |
if (isContextLost()) |
return; |
if (m_boundPixelUnpackBuffer) { |
@@ -1861,7 +1872,7 @@ void WebGL2RenderingContextBase::texSubImage3D(GLenum target, |
} |
texImageHelperDOMArrayBufferView( |
TexSubImage3D, target, level, 0, width, height, depth, 0, format, type, |
- xoffset, yoffset, zoffset, pixels, NullNotReachable, srcOffset); |
+ xoffset, yoffset, zoffset, pixels.view(), NullNotReachable, srcOffset); |
} |
void WebGL2RenderingContextBase::texSubImage3D(GLenum target, |
@@ -2051,7 +2062,7 @@ void WebGL2RenderingContextBase::compressedTexImage2D( |
GLsizei width, |
GLsizei height, |
GLint border, |
- DOMArrayBufferView* data) { |
+ NotShared<DOMArrayBufferView> data) { |
if (isContextLost()) |
return; |
if (m_boundPixelUnpackBuffer) { |
@@ -2070,7 +2081,7 @@ void WebGL2RenderingContextBase::compressedTexImage2D( |
GLsizei width, |
GLsizei height, |
GLint border, |
- DOMArrayBufferView* data, |
+ NotShared<DOMArrayBufferView> data, |
GLuint srcOffset, |
GLuint srcLengthOverride) { |
if (isContextLost()) |
@@ -2084,21 +2095,21 @@ void WebGL2RenderingContextBase::compressedTexImage2D( |
return; |
if (!validateCompressedTexFormat("compressedTexImage2D", internalformat)) |
return; |
- if (srcOffset > data->byteLength()) { |
+ if (srcOffset > data.view()->byteLength()) { |
synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage2D", |
"srcOffset is out of range"); |
return; |
} |
if (srcLengthOverride == 0) { |
- srcLengthOverride = data->byteLength() - srcOffset; |
- } else if (srcLengthOverride > data->byteLength() - srcOffset) { |
+ srcLengthOverride = data.view()->byteLength() - srcOffset; |
+ } else if (srcLengthOverride > data.view()->byteLength() - srcOffset) { |
synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage2D", |
"srcLengthOverride is out of range"); |
return; |
} |
contextGL()->CompressedTexImage2D( |
target, level, internalformat, width, height, border, srcLengthOverride, |
- static_cast<uint8_t*>(data->baseAddress()) + srcOffset); |
+ static_cast<uint8_t*>(data.view()->baseAddress()) + srcOffset); |
} |
void WebGL2RenderingContextBase::compressedTexImage2D(GLenum target, |
@@ -2129,7 +2140,7 @@ void WebGL2RenderingContextBase::compressedTexSubImage2D( |
GLsizei width, |
GLsizei height, |
GLenum format, |
- DOMArrayBufferView* data) { |
+ NotShared<DOMArrayBufferView> data) { |
if (isContextLost()) |
return; |
if (m_boundPixelUnpackBuffer) { |
@@ -2149,7 +2160,7 @@ void WebGL2RenderingContextBase::compressedTexSubImage2D( |
GLsizei width, |
GLsizei height, |
GLenum format, |
- DOMArrayBufferView* data, |
+ NotShared<DOMArrayBufferView> data, |
GLuint srcOffset, |
GLuint srcLengthOverride) { |
if (isContextLost()) |
@@ -2163,21 +2174,21 @@ void WebGL2RenderingContextBase::compressedTexSubImage2D( |
return; |
if (!validateCompressedTexFormat("compressedTexSubImage2D", format)) |
return; |
- if (srcOffset > data->byteLength()) { |
+ if (srcOffset > data.view()->byteLength()) { |
synthesizeGLError(GL_INVALID_VALUE, "compressedTexSubImage2D", |
"srcOffset is out of range"); |
return; |
} |
if (srcLengthOverride == 0) { |
- srcLengthOverride = data->byteLength() - srcOffset; |
- } else if (srcLengthOverride > data->byteLength() - srcOffset) { |
+ srcLengthOverride = data.view()->byteLength() - srcOffset; |
+ } else if (srcLengthOverride > data.view()->byteLength() - srcOffset) { |
synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage2D", |
"srcLengthOverride is out of range"); |
return; |
} |
contextGL()->CompressedTexSubImage2D( |
target, level, xoffset, yoffset, width, height, format, srcLengthOverride, |
- static_cast<uint8_t*>(data->baseAddress()) + srcOffset); |
+ static_cast<uint8_t*>(data.view()->baseAddress()) + srcOffset); |
} |
void WebGL2RenderingContextBase::compressedTexSubImage2D(GLenum target, |
@@ -2209,7 +2220,7 @@ void WebGL2RenderingContextBase::compressedTexImage3D( |
GLsizei height, |
GLsizei depth, |
GLint border, |
- DOMArrayBufferView* data, |
+ NotShared<DOMArrayBufferView> data, |
GLuint srcOffset, |
GLuint srcLengthOverride) { |
if (isContextLost()) |
@@ -2223,14 +2234,14 @@ void WebGL2RenderingContextBase::compressedTexImage3D( |
return; |
if (!validateCompressedTexFormat("compressedTexImage3D", internalformat)) |
return; |
- if (srcOffset > data->byteLength()) { |
+ if (srcOffset > data.view()->byteLength()) { |
synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage3D", |
"srcOffset is out of range"); |
return; |
} |
if (srcLengthOverride == 0) { |
- srcLengthOverride = data->byteLength() - srcOffset; |
- } else if (srcLengthOverride > data->byteLength() - srcOffset) { |
+ srcLengthOverride = data.view()->byteLength() - srcOffset; |
+ } else if (srcLengthOverride > data.view()->byteLength() - srcOffset) { |
synthesizeGLError(GL_INVALID_VALUE, "compressedTexImage3D", |
"srcLengthOverride is out of range"); |
return; |
@@ -2238,7 +2249,7 @@ void WebGL2RenderingContextBase::compressedTexImage3D( |
contextGL()->CompressedTexImage3D( |
target, level, internalformat, width, height, depth, border, |
srcLengthOverride, |
- static_cast<uint8_t*>(data->baseAddress()) + srcOffset); |
+ static_cast<uint8_t*>(data.view()->baseAddress()) + srcOffset); |
} |
void WebGL2RenderingContextBase::compressedTexImage3D(GLenum target, |
@@ -2272,7 +2283,7 @@ void WebGL2RenderingContextBase::compressedTexSubImage3D( |
GLsizei height, |
GLsizei depth, |
GLenum format, |
- DOMArrayBufferView* data, |
+ NotShared<DOMArrayBufferView> data, |
GLuint srcOffset, |
GLuint srcLengthOverride) { |
if (isContextLost()) |
@@ -2286,14 +2297,14 @@ void WebGL2RenderingContextBase::compressedTexSubImage3D( |
return; |
if (!validateCompressedTexFormat("compressedTexSubImage3D", format)) |
return; |
- if (srcOffset > data->byteLength()) { |
+ if (srcOffset > data.view()->byteLength()) { |
synthesizeGLError(GL_INVALID_VALUE, "compressedTexSubImage3D", |
"srcOffset is out of range"); |
return; |
} |
if (srcLengthOverride == 0) { |
- srcLengthOverride = data->byteLength() - srcOffset; |
- } else if (srcLengthOverride > data->byteLength() - srcOffset) { |
+ srcLengthOverride = data.view()->byteLength() - srcOffset; |
+ } else if (srcLengthOverride > data.view()->byteLength() - srcOffset) { |
synthesizeGLError(GL_INVALID_VALUE, "compressedTexSubImage3D", |
"srcLengthOverride is out of range"); |
return; |
@@ -2301,7 +2312,7 @@ void WebGL2RenderingContextBase::compressedTexSubImage3D( |
contextGL()->CompressedTexSubImage3D( |
target, level, xoffset, yoffset, zoffset, width, height, depth, format, |
srcLengthOverride, |
- static_cast<uint8_t*>(data->baseAddress()) + srcOffset); |
+ static_cast<uint8_t*>(data.view()->baseAddress()) + srcOffset); |
} |
void WebGL2RenderingContextBase::compressedTexSubImage3D(GLenum target, |
@@ -2777,17 +2788,17 @@ void WebGL2RenderingContextBase::uniform4uiv( |
void WebGL2RenderingContextBase::uniformMatrix2fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v, |
+ NotShared<DOMFloat32Array> v, |
GLuint srcOffset, |
GLuint srcLength) { |
if (isContextLost() || |
!validateUniformMatrixParameters("uniformMatrix2fv", location, transpose, |
- v, 4, srcOffset, srcLength)) |
+ v.view(), 4, srcOffset, srcLength)) |
return; |
contextGL()->UniformMatrix2fv( |
location->location(), |
- (srcLength ? srcLength : (v->length() - srcOffset)) >> 2, transpose, |
- v->data() + srcOffset); |
+ (srcLength ? srcLength : (v.view()->length() - srcOffset)) >> 2, |
+ transpose, v.view()->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix2fv( |
@@ -2810,17 +2821,17 @@ void WebGL2RenderingContextBase::uniformMatrix2fv( |
void WebGL2RenderingContextBase::uniformMatrix3fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v, |
+ NotShared<DOMFloat32Array> v, |
GLuint srcOffset, |
GLuint srcLength) { |
if (isContextLost() || |
!validateUniformMatrixParameters("uniformMatrix3fv", location, transpose, |
- v, 9, srcOffset, srcLength)) |
+ v.view(), 9, srcOffset, srcLength)) |
return; |
contextGL()->UniformMatrix3fv( |
location->location(), |
- (srcLength ? srcLength : (v->length() - srcOffset)) / 9, transpose, |
- v->data() + srcOffset); |
+ (srcLength ? srcLength : (v.view()->length() - srcOffset)) / 9, transpose, |
+ v.view()->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix3fv( |
@@ -2843,17 +2854,17 @@ void WebGL2RenderingContextBase::uniformMatrix3fv( |
void WebGL2RenderingContextBase::uniformMatrix4fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v, |
+ NotShared<DOMFloat32Array> v, |
GLuint srcOffset, |
GLuint srcLength) { |
if (isContextLost() || |
!validateUniformMatrixParameters("uniformMatrix4fv", location, transpose, |
- v, 16, srcOffset, srcLength)) |
+ v.view(), 16, srcOffset, srcLength)) |
return; |
contextGL()->UniformMatrix4fv( |
location->location(), |
- (srcLength ? srcLength : (v->length() - srcOffset)) >> 4, transpose, |
- v->data() + srcOffset); |
+ (srcLength ? srcLength : (v.view()->length() - srcOffset)) >> 4, |
+ transpose, v.view()->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix4fv( |
@@ -2876,18 +2887,17 @@ void WebGL2RenderingContextBase::uniformMatrix4fv( |
void WebGL2RenderingContextBase::uniformMatrix2x3fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* value, |
+ NotShared<DOMFloat32Array> value, |
GLuint srcOffset, |
GLuint srcLength) { |
- if (isContextLost() || |
- !validateUniformMatrixParameters("uniformMatrix2x3fv", location, |
- transpose, value, 6, srcOffset, |
- srcLength)) |
+ if (isContextLost() || !validateUniformMatrixParameters( |
+ "uniformMatrix2x3fv", location, transpose, |
+ value.view(), 6, srcOffset, srcLength)) |
return; |
contextGL()->UniformMatrix2x3fv( |
location->location(), |
- (srcLength ? srcLength : (value->length() - srcOffset)) / 6, transpose, |
- value->data() + srcOffset); |
+ (srcLength ? srcLength : (value.view()->length() - srcOffset)) / 6, |
+ transpose, value.view()->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix2x3fv( |
@@ -2910,18 +2920,17 @@ void WebGL2RenderingContextBase::uniformMatrix2x3fv( |
void WebGL2RenderingContextBase::uniformMatrix3x2fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* value, |
+ NotShared<DOMFloat32Array> value, |
GLuint srcOffset, |
GLuint srcLength) { |
- if (isContextLost() || |
- !validateUniformMatrixParameters("uniformMatrix3x2fv", location, |
- transpose, value, 6, srcOffset, |
- srcLength)) |
+ if (isContextLost() || !validateUniformMatrixParameters( |
+ "uniformMatrix3x2fv", location, transpose, |
+ value.view(), 6, srcOffset, srcLength)) |
return; |
contextGL()->UniformMatrix3x2fv( |
location->location(), |
- (srcLength ? srcLength : (value->length() - srcOffset)) / 6, transpose, |
- value->data() + srcOffset); |
+ (srcLength ? srcLength : (value.view()->length() - srcOffset)) / 6, |
+ transpose, value.view()->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix3x2fv( |
@@ -2944,18 +2953,17 @@ void WebGL2RenderingContextBase::uniformMatrix3x2fv( |
void WebGL2RenderingContextBase::uniformMatrix2x4fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* value, |
+ NotShared<DOMFloat32Array> value, |
GLuint srcOffset, |
GLuint srcLength) { |
- if (isContextLost() || |
- !validateUniformMatrixParameters("uniformMatrix2x4fv", location, |
- transpose, value, 8, srcOffset, |
- srcLength)) |
+ if (isContextLost() || !validateUniformMatrixParameters( |
+ "uniformMatrix2x4fv", location, transpose, |
+ value.view(), 8, srcOffset, srcLength)) |
return; |
contextGL()->UniformMatrix2x4fv( |
location->location(), |
- (srcLength ? srcLength : (value->length() - srcOffset)) >> 3, transpose, |
- value->data() + srcOffset); |
+ (srcLength ? srcLength : (value.view()->length() - srcOffset)) >> 3, |
+ transpose, value.view()->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix2x4fv( |
@@ -2978,18 +2986,17 @@ void WebGL2RenderingContextBase::uniformMatrix2x4fv( |
void WebGL2RenderingContextBase::uniformMatrix4x2fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* value, |
+ NotShared<DOMFloat32Array> value, |
GLuint srcOffset, |
GLuint srcLength) { |
- if (isContextLost() || |
- !validateUniformMatrixParameters("uniformMatrix4x2fv", location, |
- transpose, value, 8, srcOffset, |
- srcLength)) |
+ if (isContextLost() || !validateUniformMatrixParameters( |
+ "uniformMatrix4x2fv", location, transpose, |
+ value.view(), 8, srcOffset, srcLength)) |
return; |
contextGL()->UniformMatrix4x2fv( |
location->location(), |
- (srcLength ? srcLength : (value->length() - srcOffset)) >> 3, transpose, |
- value->data() + srcOffset); |
+ (srcLength ? srcLength : (value.view()->length() - srcOffset)) >> 3, |
+ transpose, value.view()->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix4x2fv( |
@@ -3012,18 +3019,17 @@ void WebGL2RenderingContextBase::uniformMatrix4x2fv( |
void WebGL2RenderingContextBase::uniformMatrix3x4fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* value, |
+ NotShared<DOMFloat32Array> value, |
GLuint srcOffset, |
GLuint srcLength) { |
- if (isContextLost() || |
- !validateUniformMatrixParameters("uniformMatrix3x4fv", location, |
- transpose, value, 12, srcOffset, |
- srcLength)) |
+ if (isContextLost() || !validateUniformMatrixParameters( |
+ "uniformMatrix3x4fv", location, transpose, |
+ value.view(), 12, srcOffset, srcLength)) |
return; |
contextGL()->UniformMatrix3x4fv( |
location->location(), |
- (srcLength ? srcLength : (value->length() - srcOffset)) / 12, transpose, |
- value->data() + srcOffset); |
+ (srcLength ? srcLength : (value.view()->length() - srcOffset)) / 12, |
+ transpose, value.view()->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix3x4fv( |
@@ -3046,18 +3052,17 @@ void WebGL2RenderingContextBase::uniformMatrix3x4fv( |
void WebGL2RenderingContextBase::uniformMatrix4x3fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* value, |
+ NotShared<DOMFloat32Array> value, |
GLuint srcOffset, |
GLuint srcLength) { |
- if (isContextLost() || |
- !validateUniformMatrixParameters("uniformMatrix4x3fv", location, |
- transpose, value, 12, srcOffset, |
- srcLength)) |
+ if (isContextLost() || !validateUniformMatrixParameters( |
+ "uniformMatrix4x3fv", location, transpose, |
+ value.view(), 12, srcOffset, srcLength)) |
return; |
contextGL()->UniformMatrix4x3fv( |
location->location(), |
- (srcLength ? srcLength : (value->length() - srcOffset)) / 12, transpose, |
- value->data() + srcOffset); |
+ (srcLength ? srcLength : (value.view()->length() - srcOffset)) / 12, |
+ transpose, value.view()->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix4x3fv( |
@@ -3176,7 +3181,7 @@ void WebGL2RenderingContextBase::uniform4iv( |
void WebGL2RenderingContextBase::uniformMatrix2fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v) { |
+ NotShared<DOMFloat32Array> v) { |
WebGLRenderingContextBase::uniformMatrix2fv(location, transpose, v); |
} |
@@ -3190,7 +3195,7 @@ void WebGL2RenderingContextBase::uniformMatrix2fv( |
void WebGL2RenderingContextBase::uniformMatrix3fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v) { |
+ NotShared<DOMFloat32Array> v) { |
WebGLRenderingContextBase::uniformMatrix3fv(location, transpose, v); |
} |
@@ -3204,7 +3209,7 @@ void WebGL2RenderingContextBase::uniformMatrix3fv( |
void WebGL2RenderingContextBase::uniformMatrix4fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v) { |
+ NotShared<DOMFloat32Array> v) { |
WebGLRenderingContextBase::uniformMatrix4fv(location, transpose, v); |
} |
@@ -3226,15 +3231,16 @@ void WebGL2RenderingContextBase::vertexAttribI4i(GLuint index, |
setVertexAttribType(index, Int32ArrayType); |
} |
-void WebGL2RenderingContextBase::vertexAttribI4iv(GLuint index, |
- const DOMInt32Array* v) { |
+void WebGL2RenderingContextBase::vertexAttribI4iv( |
+ GLuint index, |
+ NotShared<const DOMInt32Array> v) { |
if (isContextLost()) |
return; |
- if (!v || v->length() < 4) { |
+ if (!v.view() || v.view()->length() < 4) { |
synthesizeGLError(GL_INVALID_VALUE, "vertexAttribI4iv", "invalid array"); |
return; |
} |
- contextGL()->VertexAttribI4iv(index, v->data()); |
+ contextGL()->VertexAttribI4iv(index, v.view()->data()); |
setVertexAttribType(index, Int32ArrayType); |
} |
@@ -3261,15 +3267,16 @@ void WebGL2RenderingContextBase::vertexAttribI4ui(GLuint index, |
setVertexAttribType(index, Uint32ArrayType); |
} |
-void WebGL2RenderingContextBase::vertexAttribI4uiv(GLuint index, |
- const DOMUint32Array* v) { |
+void WebGL2RenderingContextBase::vertexAttribI4uiv( |
+ GLuint index, |
+ NotShared<const DOMUint32Array> v) { |
if (isContextLost()) |
return; |
- if (!v || v->length() < 4) { |
+ if (!v.view() || v.view()->length() < 4) { |
synthesizeGLError(GL_INVALID_VALUE, "vertexAttribI4uiv", "invalid array"); |
return; |
} |
- contextGL()->VertexAttribI4uiv(index, v->data()); |
+ contextGL()->VertexAttribI4uiv(index, v.view()->data()); |
setVertexAttribType(index, Uint32ArrayType); |
} |
@@ -3484,12 +3491,12 @@ WebGLTexture* WebGL2RenderingContextBase::validateTexImageBinding( |
void WebGL2RenderingContextBase::clearBufferiv(GLenum buffer, |
GLint drawbuffer, |
- DOMInt32Array* value) { |
+ NotShared<DOMInt32Array> value) { |
if (isContextLost() || |
- !validateClearBuffer("clearBufferiv", buffer, value->length())) |
+ !validateClearBuffer("clearBufferiv", buffer, value.view()->length())) |
return; |
- contextGL()->ClearBufferiv(buffer, drawbuffer, value->data()); |
+ contextGL()->ClearBufferiv(buffer, drawbuffer, value.view()->data()); |
} |
void WebGL2RenderingContextBase::clearBufferiv(GLenum buffer, |
@@ -3502,14 +3509,15 @@ void WebGL2RenderingContextBase::clearBufferiv(GLenum buffer, |
contextGL()->ClearBufferiv(buffer, drawbuffer, value.data()); |
} |
-void WebGL2RenderingContextBase::clearBufferuiv(GLenum buffer, |
- GLint drawbuffer, |
- DOMUint32Array* value) { |
+void WebGL2RenderingContextBase::clearBufferuiv( |
+ GLenum buffer, |
+ GLint drawbuffer, |
+ NotShared<DOMUint32Array> value) { |
if (isContextLost() || |
- !validateClearBuffer("clearBufferuiv", buffer, value->length())) |
+ !validateClearBuffer("clearBufferuiv", buffer, value.view()->length())) |
return; |
- contextGL()->ClearBufferuiv(buffer, drawbuffer, value->data()); |
+ contextGL()->ClearBufferuiv(buffer, drawbuffer, value.view()->data()); |
} |
void WebGL2RenderingContextBase::clearBufferuiv(GLenum buffer, |
@@ -3522,14 +3530,15 @@ void WebGL2RenderingContextBase::clearBufferuiv(GLenum buffer, |
contextGL()->ClearBufferuiv(buffer, drawbuffer, value.data()); |
} |
-void WebGL2RenderingContextBase::clearBufferfv(GLenum buffer, |
- GLint drawbuffer, |
- DOMFloat32Array* value) { |
+void WebGL2RenderingContextBase::clearBufferfv( |
+ GLenum buffer, |
+ GLint drawbuffer, |
+ NotShared<DOMFloat32Array> value) { |
if (isContextLost() || |
- !validateClearBuffer("clearBufferfv", buffer, value->length())) |
+ !validateClearBuffer("clearBufferfv", buffer, value.view()->length())) |
return; |
- contextGL()->ClearBufferfv(buffer, drawbuffer, value->data()); |
+ contextGL()->ClearBufferfv(buffer, drawbuffer, value.view()->data()); |
} |
void WebGL2RenderingContextBase::clearBufferfv(GLenum buffer, |