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 47eae64de91e1ac45dbb06d051642e99d936729a..75537ecfd015b93967cb8641dcb77d6c448065d0 100644 |
--- a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp |
+++ b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp |
@@ -248,16 +248,17 @@ void WebGL2RenderingContextBase::InitializeNewContext() { |
WebGLRenderingContextBase::InitializeNewContext(); |
} |
-void WebGL2RenderingContextBase::bufferData(GLenum target, |
- DOMArrayBufferView* src_data, |
- GLenum usage, |
- GLuint src_offset, |
- GLuint length) { |
+void WebGL2RenderingContextBase::bufferData( |
+ GLenum target, |
+ NotShared<DOMArrayBufferView> src_data, |
+ GLenum usage, |
+ GLuint src_offset, |
+ GLuint length) { |
if (isContextLost()) |
return; |
void* sub_base_address = nullptr; |
long long sub_byte_length = 0; |
- if (!ValidateSubSourceAndGetData(src_data, src_offset, length, |
+ if (!ValidateSubSourceAndGetData(src_data.View(), src_offset, length, |
&sub_base_address, &sub_byte_length)) { |
SynthesizeGLError(GL_INVALID_VALUE, "bufferData", |
"srcOffset + length too large"); |
@@ -279,21 +280,22 @@ 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 dst_byte_offset, |
- DOMArrayBufferView* src_data, |
- GLuint src_offset, |
- GLuint length) { |
+void WebGL2RenderingContextBase::bufferSubData( |
+ GLenum target, |
+ GLintptr dst_byte_offset, |
+ NotShared<DOMArrayBufferView> src_data, |
+ GLuint src_offset, |
+ GLuint length) { |
if (isContextLost()) |
return; |
void* sub_base_address = nullptr; |
long long sub_byte_length = 0; |
- if (!ValidateSubSourceAndGetData(src_data, src_offset, length, |
+ if (!ValidateSubSourceAndGetData(src_data.View(), src_offset, length, |
&sub_base_address, &sub_byte_length)) { |
SynthesizeGLError(GL_INVALID_VALUE, "bufferSubData", |
"srcOffset + length too large"); |
@@ -365,17 +367,18 @@ void WebGL2RenderingContextBase::copyBufferSubData(GLenum read_target, |
static_cast<GLintptr>(write_offset), static_cast<GLsizeiptr>(size)); |
} |
-void WebGL2RenderingContextBase::getBufferSubData(GLenum target, |
- long long src_byte_offset, |
- DOMArrayBufferView* dst_data, |
- GLuint dst_offset, |
- GLuint length) { |
+void WebGL2RenderingContextBase::getBufferSubData( |
+ GLenum target, |
+ long long src_byte_offset, |
+ NotShared<DOMArrayBufferView> dst_data, |
+ GLuint dst_offset, |
+ GLuint length) { |
WebGLBuffer* source_buffer = nullptr; |
void* destination_data_ptr = nullptr; |
long long destination_byte_length = 0; |
const char* message = ValidateGetBufferSubData( |
- __FUNCTION__, target, src_byte_offset, dst_data, dst_offset, length, |
- &source_buffer, &destination_data_ptr, &destination_byte_length); |
+ __FUNCTION__, target, src_byte_offset, dst_data.View(), dst_offset, |
+ length, &source_buffer, &destination_data_ptr, &destination_byte_length); |
if (message) { |
// If there was a GL error, it was already synthesized in |
// validateGetBufferSubData, so it's not done here. |
@@ -749,13 +752,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 (bound_pixel_pack_buffer_.Get()) { |
@@ -764,17 +768,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 (bound_pixel_pack_buffer_.Get()) { |
@@ -783,7 +788,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, |
@@ -1125,15 +1130,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 (bound_pixel_unpack_buffer_) { |
@@ -1153,7 +1159,7 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target, |
GLint border, |
GLenum format, |
GLenum type, |
- DOMArrayBufferView* data, |
+ NotShared<DOMArrayBufferView> data, |
GLuint src_offset) { |
if (isContextLost()) |
return; |
@@ -1162,9 +1168,9 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target, |
"a buffer is bound to PIXEL_UNPACK_BUFFER"); |
return; |
} |
- TexImageHelperDOMArrayBufferView(kTexImage2D, target, level, internalformat, |
- width, height, 1, border, format, type, 0, 0, |
- 0, data, kNullNotReachable, src_offset); |
+ TexImageHelperDOMArrayBufferView( |
+ kTexImage2D, target, level, internalformat, width, height, 1, border, |
+ format, type, 0, 0, 0, data.View(), kNullNotReachable, src_offset); |
} |
void WebGL2RenderingContextBase::texImage2D(GLenum target, |
@@ -1368,15 +1374,16 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target, |
type, image_bit_map, exception_state); |
} |
-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 (bound_pixel_unpack_buffer_) { |
@@ -1388,16 +1395,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 src_offset) { |
+void WebGL2RenderingContextBase::texSubImage2D( |
+ GLenum target, |
+ GLint level, |
+ GLint xoffset, |
+ GLint yoffset, |
+ GLsizei width, |
+ GLsizei height, |
+ GLenum format, |
+ GLenum type, |
+ NotShared<DOMArrayBufferView> pixels, |
+ GLuint src_offset) { |
if (isContextLost()) |
return; |
if (bound_pixel_unpack_buffer_) { |
@@ -1405,9 +1413,9 @@ void WebGL2RenderingContextBase::texSubImage2D(GLenum target, |
"a buffer is bound to PIXEL_UNPACK_BUFFER"); |
return; |
} |
- TexImageHelperDOMArrayBufferView(kTexSubImage2D, target, level, 0, width, |
- height, 1, 0, format, type, xoffset, yoffset, |
- 0, pixels, kNullNotReachable, src_offset); |
+ TexImageHelperDOMArrayBufferView( |
+ kTexSubImage2D, target, level, 0, width, height, 1, 0, format, type, |
+ xoffset, yoffset, 0, pixels.View(), kNullNotReachable, src_offset); |
} |
void WebGL2RenderingContextBase::texSubImage2D(GLenum target, |
@@ -1648,32 +1656,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(kTexImage3D, target, level, internalformat, |
width, height, depth, border, format, type, |
- 0, 0, 0, pixels, kNullAllowed, 0); |
+ 0, 0, 0, pixels.View(), kNullAllowed, 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 src_offset) { |
+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 src_offset) { |
if (isContextLost()) |
return; |
if (bound_pixel_unpack_buffer_) { |
@@ -1683,7 +1693,7 @@ void WebGL2RenderingContextBase::texImage3D(GLenum target, |
} |
TexImageHelperDOMArrayBufferView( |
kTexImage3D, target, level, internalformat, width, height, depth, border, |
- format, type, 0, 0, 0, pixels, kNullNotReachable, src_offset); |
+ format, type, 0, 0, 0, pixels.View(), kNullNotReachable, src_offset); |
} |
void WebGL2RenderingContextBase::texImage3D(GLenum target, |
@@ -1834,18 +1844,19 @@ void WebGL2RenderingContextBase::texImage3D(GLenum target, |
unpack_image_height_, exception_state); |
} |
-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 src_offset) { |
+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 src_offset) { |
if (isContextLost()) |
return; |
if (bound_pixel_unpack_buffer_) { |
@@ -1855,7 +1866,7 @@ void WebGL2RenderingContextBase::texSubImage3D(GLenum target, |
} |
TexImageHelperDOMArrayBufferView( |
kTexSubImage3D, target, level, 0, width, height, depth, 0, format, type, |
- xoffset, yoffset, zoffset, pixels, kNullNotReachable, src_offset); |
+ xoffset, yoffset, zoffset, pixels.View(), kNullNotReachable, src_offset); |
} |
void WebGL2RenderingContextBase::texSubImage3D(GLenum target, |
@@ -2050,7 +2061,7 @@ void WebGL2RenderingContextBase::compressedTexImage2D( |
GLsizei width, |
GLsizei height, |
GLint border, |
- DOMArrayBufferView* data) { |
+ NotShared<DOMArrayBufferView> data) { |
if (isContextLost()) |
return; |
if (bound_pixel_unpack_buffer_) { |
@@ -2069,7 +2080,7 @@ void WebGL2RenderingContextBase::compressedTexImage2D( |
GLsizei width, |
GLsizei height, |
GLint border, |
- DOMArrayBufferView* data, |
+ NotShared<DOMArrayBufferView> data, |
GLuint src_offset, |
GLuint src_length_override) { |
if (isContextLost()) |
@@ -2083,21 +2094,21 @@ void WebGL2RenderingContextBase::compressedTexImage2D( |
return; |
if (!ValidateCompressedTexFormat("compressedTexImage2D", internalformat)) |
return; |
- if (src_offset > data->byteLength()) { |
+ if (src_offset > data.View()->byteLength()) { |
SynthesizeGLError(GL_INVALID_VALUE, "compressedTexImage2D", |
"srcOffset is out of range"); |
return; |
} |
if (src_length_override == 0) { |
- src_length_override = data->byteLength() - src_offset; |
- } else if (src_length_override > data->byteLength() - src_offset) { |
+ src_length_override = data.View()->byteLength() - src_offset; |
+ } else if (src_length_override > data.View()->byteLength() - src_offset) { |
SynthesizeGLError(GL_INVALID_VALUE, "compressedTexImage2D", |
"srcLengthOverride is out of range"); |
return; |
} |
ContextGL()->CompressedTexImage2D( |
target, level, internalformat, width, height, border, src_length_override, |
- static_cast<uint8_t*>(data->BaseAddress()) + src_offset); |
+ static_cast<uint8_t*>(data.View()->BaseAddress()) + src_offset); |
} |
void WebGL2RenderingContextBase::compressedTexImage2D(GLenum target, |
@@ -2128,7 +2139,7 @@ void WebGL2RenderingContextBase::compressedTexSubImage2D( |
GLsizei width, |
GLsizei height, |
GLenum format, |
- DOMArrayBufferView* data) { |
+ NotShared<DOMArrayBufferView> data) { |
if (isContextLost()) |
return; |
if (bound_pixel_unpack_buffer_) { |
@@ -2148,7 +2159,7 @@ void WebGL2RenderingContextBase::compressedTexSubImage2D( |
GLsizei width, |
GLsizei height, |
GLenum format, |
- DOMArrayBufferView* data, |
+ NotShared<DOMArrayBufferView> data, |
GLuint src_offset, |
GLuint src_length_override) { |
if (isContextLost()) |
@@ -2162,14 +2173,14 @@ void WebGL2RenderingContextBase::compressedTexSubImage2D( |
return; |
if (!ValidateCompressedTexFormat("compressedTexSubImage2D", format)) |
return; |
- if (src_offset > data->byteLength()) { |
+ if (src_offset > data.View()->byteLength()) { |
SynthesizeGLError(GL_INVALID_VALUE, "compressedTexSubImage2D", |
"srcOffset is out of range"); |
return; |
} |
if (src_length_override == 0) { |
- src_length_override = data->byteLength() - src_offset; |
- } else if (src_length_override > data->byteLength() - src_offset) { |
+ src_length_override = data.View()->byteLength() - src_offset; |
+ } else if (src_length_override > data.View()->byteLength() - src_offset) { |
SynthesizeGLError(GL_INVALID_VALUE, "compressedTexImage2D", |
"srcLengthOverride is out of range"); |
return; |
@@ -2177,7 +2188,7 @@ void WebGL2RenderingContextBase::compressedTexSubImage2D( |
ContextGL()->CompressedTexSubImage2D( |
target, level, xoffset, yoffset, width, height, format, |
src_length_override, |
- static_cast<uint8_t*>(data->BaseAddress()) + src_offset); |
+ static_cast<uint8_t*>(data.View()->BaseAddress()) + src_offset); |
} |
void WebGL2RenderingContextBase::compressedTexSubImage2D(GLenum target, |
@@ -2209,7 +2220,7 @@ void WebGL2RenderingContextBase::compressedTexImage3D( |
GLsizei height, |
GLsizei depth, |
GLint border, |
- DOMArrayBufferView* data, |
+ NotShared<DOMArrayBufferView> data, |
GLuint src_offset, |
GLuint src_length_override) { |
if (isContextLost()) |
@@ -2223,14 +2234,14 @@ void WebGL2RenderingContextBase::compressedTexImage3D( |
return; |
if (!ValidateCompressedTexFormat("compressedTexImage3D", internalformat)) |
return; |
- if (src_offset > data->byteLength()) { |
+ if (src_offset > data.View()->byteLength()) { |
SynthesizeGLError(GL_INVALID_VALUE, "compressedTexImage3D", |
"srcOffset is out of range"); |
return; |
} |
if (src_length_override == 0) { |
- src_length_override = data->byteLength() - src_offset; |
- } else if (src_length_override > data->byteLength() - src_offset) { |
+ src_length_override = data.View()->byteLength() - src_offset; |
+ } else if (src_length_override > data.View()->byteLength() - src_offset) { |
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, |
src_length_override, |
- static_cast<uint8_t*>(data->BaseAddress()) + src_offset); |
+ static_cast<uint8_t*>(data.View()->BaseAddress()) + src_offset); |
} |
void WebGL2RenderingContextBase::compressedTexImage3D(GLenum target, |
@@ -2272,7 +2283,7 @@ void WebGL2RenderingContextBase::compressedTexSubImage3D( |
GLsizei height, |
GLsizei depth, |
GLenum format, |
- DOMArrayBufferView* data, |
+ NotShared<DOMArrayBufferView> data, |
GLuint src_offset, |
GLuint src_length_override) { |
if (isContextLost()) |
@@ -2286,14 +2297,14 @@ void WebGL2RenderingContextBase::compressedTexSubImage3D( |
return; |
if (!ValidateCompressedTexFormat("compressedTexSubImage3D", format)) |
return; |
- if (src_offset > data->byteLength()) { |
+ if (src_offset > data.View()->byteLength()) { |
SynthesizeGLError(GL_INVALID_VALUE, "compressedTexSubImage3D", |
"srcOffset is out of range"); |
return; |
} |
if (src_length_override == 0) { |
- src_length_override = data->byteLength() - src_offset; |
- } else if (src_length_override > data->byteLength() - src_offset) { |
+ src_length_override = data.View()->byteLength() - src_offset; |
+ } else if (src_length_override > data.View()->byteLength() - src_offset) { |
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, |
src_length_override, |
- static_cast<uint8_t*>(data->BaseAddress()) + src_offset); |
+ static_cast<uint8_t*>(data.View()->BaseAddress()) + src_offset); |
} |
void WebGL2RenderingContextBase::compressedTexSubImage3D(GLenum target, |
@@ -2784,17 +2795,17 @@ void WebGL2RenderingContextBase::uniform4uiv( |
void WebGL2RenderingContextBase::uniformMatrix2fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v, |
+ NotShared<DOMFloat32Array> v, |
GLuint src_offset, |
GLuint src_length) { |
if (isContextLost() || |
!ValidateUniformMatrixParameters("uniformMatrix2fv", location, transpose, |
- v, 4, src_offset, src_length)) |
+ v.View(), 4, src_offset, src_length)) |
return; |
ContextGL()->UniformMatrix2fv( |
location->Location(), |
- (src_length ? src_length : (v->length() - src_offset)) >> 2, transpose, |
- v->Data() + src_offset); |
+ (src_length ? src_length : (v.View()->length() - src_offset)) >> 2, |
+ transpose, v.View()->Data() + src_offset); |
} |
void WebGL2RenderingContextBase::uniformMatrix2fv( |
@@ -2816,17 +2827,17 @@ void WebGL2RenderingContextBase::uniformMatrix2fv( |
void WebGL2RenderingContextBase::uniformMatrix3fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v, |
+ NotShared<DOMFloat32Array> v, |
GLuint src_offset, |
GLuint src_length) { |
if (isContextLost() || |
!ValidateUniformMatrixParameters("uniformMatrix3fv", location, transpose, |
- v, 9, src_offset, src_length)) |
+ v.View(), 9, src_offset, src_length)) |
return; |
ContextGL()->UniformMatrix3fv( |
location->Location(), |
- (src_length ? src_length : (v->length() - src_offset)) / 9, transpose, |
- v->Data() + src_offset); |
+ (src_length ? src_length : (v.View()->length() - src_offset)) / 9, |
+ transpose, v.View()->Data() + src_offset); |
} |
void WebGL2RenderingContextBase::uniformMatrix3fv( |
@@ -2848,17 +2859,17 @@ void WebGL2RenderingContextBase::uniformMatrix3fv( |
void WebGL2RenderingContextBase::uniformMatrix4fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v, |
+ NotShared<DOMFloat32Array> v, |
GLuint src_offset, |
GLuint src_length) { |
if (isContextLost() || |
!ValidateUniformMatrixParameters("uniformMatrix4fv", location, transpose, |
- v, 16, src_offset, src_length)) |
+ v.View(), 16, src_offset, src_length)) |
return; |
ContextGL()->UniformMatrix4fv( |
location->Location(), |
- (src_length ? src_length : (v->length() - src_offset)) >> 4, transpose, |
- v->Data() + src_offset); |
+ (src_length ? src_length : (v.View()->length() - src_offset)) >> 4, |
+ transpose, v.View()->Data() + src_offset); |
} |
void WebGL2RenderingContextBase::uniformMatrix4fv( |
@@ -2880,17 +2891,17 @@ void WebGL2RenderingContextBase::uniformMatrix4fv( |
void WebGL2RenderingContextBase::uniformMatrix2x3fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* value, |
+ NotShared<DOMFloat32Array> value, |
GLuint src_offset, |
GLuint src_length) { |
if (isContextLost() || !ValidateUniformMatrixParameters( |
- "uniformMatrix2x3fv", location, transpose, value, |
- 6, src_offset, src_length)) |
+ "uniformMatrix2x3fv", location, transpose, |
+ value.View(), 6, src_offset, src_length)) |
return; |
ContextGL()->UniformMatrix2x3fv( |
location->Location(), |
- (src_length ? src_length : (value->length() - src_offset)) / 6, transpose, |
- value->Data() + src_offset); |
+ (src_length ? src_length : (value.View()->length() - src_offset)) / 6, |
+ transpose, value.View()->Data() + src_offset); |
} |
void WebGL2RenderingContextBase::uniformMatrix2x3fv( |
@@ -2913,17 +2924,17 @@ void WebGL2RenderingContextBase::uniformMatrix2x3fv( |
void WebGL2RenderingContextBase::uniformMatrix3x2fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* value, |
+ NotShared<DOMFloat32Array> value, |
GLuint src_offset, |
GLuint src_length) { |
if (isContextLost() || !ValidateUniformMatrixParameters( |
- "uniformMatrix3x2fv", location, transpose, value, |
- 6, src_offset, src_length)) |
+ "uniformMatrix3x2fv", location, transpose, |
+ value.View(), 6, src_offset, src_length)) |
return; |
ContextGL()->UniformMatrix3x2fv( |
location->Location(), |
- (src_length ? src_length : (value->length() - src_offset)) / 6, transpose, |
- value->Data() + src_offset); |
+ (src_length ? src_length : (value.View()->length() - src_offset)) / 6, |
+ transpose, value.View()->Data() + src_offset); |
} |
void WebGL2RenderingContextBase::uniformMatrix3x2fv( |
@@ -2946,17 +2957,17 @@ void WebGL2RenderingContextBase::uniformMatrix3x2fv( |
void WebGL2RenderingContextBase::uniformMatrix2x4fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* value, |
+ NotShared<DOMFloat32Array> value, |
GLuint src_offset, |
GLuint src_length) { |
if (isContextLost() || !ValidateUniformMatrixParameters( |
- "uniformMatrix2x4fv", location, transpose, value, |
- 8, src_offset, src_length)) |
+ "uniformMatrix2x4fv", location, transpose, |
+ value.View(), 8, src_offset, src_length)) |
return; |
ContextGL()->UniformMatrix2x4fv( |
location->Location(), |
- (src_length ? src_length : (value->length() - src_offset)) >> 3, |
- transpose, value->Data() + src_offset); |
+ (src_length ? src_length : (value.View()->length() - src_offset)) >> 3, |
+ transpose, value.View()->Data() + src_offset); |
} |
void WebGL2RenderingContextBase::uniformMatrix2x4fv( |
@@ -2979,17 +2990,17 @@ void WebGL2RenderingContextBase::uniformMatrix2x4fv( |
void WebGL2RenderingContextBase::uniformMatrix4x2fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* value, |
+ NotShared<DOMFloat32Array> value, |
GLuint src_offset, |
GLuint src_length) { |
if (isContextLost() || !ValidateUniformMatrixParameters( |
- "uniformMatrix4x2fv", location, transpose, value, |
- 8, src_offset, src_length)) |
+ "uniformMatrix4x2fv", location, transpose, |
+ value.View(), 8, src_offset, src_length)) |
return; |
ContextGL()->UniformMatrix4x2fv( |
location->Location(), |
- (src_length ? src_length : (value->length() - src_offset)) >> 3, |
- transpose, value->Data() + src_offset); |
+ (src_length ? src_length : (value.View()->length() - src_offset)) >> 3, |
+ transpose, value.View()->Data() + src_offset); |
} |
void WebGL2RenderingContextBase::uniformMatrix4x2fv( |
@@ -3012,17 +3023,17 @@ void WebGL2RenderingContextBase::uniformMatrix4x2fv( |
void WebGL2RenderingContextBase::uniformMatrix3x4fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* value, |
+ NotShared<DOMFloat32Array> value, |
GLuint src_offset, |
GLuint src_length) { |
if (isContextLost() || !ValidateUniformMatrixParameters( |
- "uniformMatrix3x4fv", location, transpose, value, |
- 12, src_offset, src_length)) |
+ "uniformMatrix3x4fv", location, transpose, |
+ value.View(), 12, src_offset, src_length)) |
return; |
ContextGL()->UniformMatrix3x4fv( |
location->Location(), |
- (src_length ? src_length : (value->length() - src_offset)) / 12, |
- transpose, value->Data() + src_offset); |
+ (src_length ? src_length : (value.View()->length() - src_offset)) / 12, |
+ transpose, value.View()->Data() + src_offset); |
} |
void WebGL2RenderingContextBase::uniformMatrix3x4fv( |
@@ -3045,17 +3056,17 @@ void WebGL2RenderingContextBase::uniformMatrix3x4fv( |
void WebGL2RenderingContextBase::uniformMatrix4x3fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* value, |
+ NotShared<DOMFloat32Array> value, |
GLuint src_offset, |
GLuint src_length) { |
if (isContextLost() || !ValidateUniformMatrixParameters( |
- "uniformMatrix4x3fv", location, transpose, value, |
- 12, src_offset, src_length)) |
+ "uniformMatrix4x3fv", location, transpose, |
+ value.View(), 12, src_offset, src_length)) |
return; |
ContextGL()->UniformMatrix4x3fv( |
location->Location(), |
- (src_length ? src_length : (value->length() - src_offset)) / 12, |
- transpose, value->Data() + src_offset); |
+ (src_length ? src_length : (value.View()->length() - src_offset)) / 12, |
+ transpose, value.View()->Data() + src_offset); |
} |
void WebGL2RenderingContextBase::uniformMatrix4x3fv( |
@@ -3174,7 +3185,7 @@ void WebGL2RenderingContextBase::uniform4iv( |
void WebGL2RenderingContextBase::uniformMatrix2fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v) { |
+ NotShared<DOMFloat32Array> v) { |
WebGLRenderingContextBase::uniformMatrix2fv(location, transpose, v); |
} |
@@ -3188,7 +3199,7 @@ void WebGL2RenderingContextBase::uniformMatrix2fv( |
void WebGL2RenderingContextBase::uniformMatrix3fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v) { |
+ NotShared<DOMFloat32Array> v) { |
WebGLRenderingContextBase::uniformMatrix3fv(location, transpose, v); |
} |
@@ -3202,7 +3213,7 @@ void WebGL2RenderingContextBase::uniformMatrix3fv( |
void WebGL2RenderingContextBase::uniformMatrix4fv( |
const WebGLUniformLocation* location, |
GLboolean transpose, |
- DOMFloat32Array* v) { |
+ NotShared<DOMFloat32Array> v) { |
WebGLRenderingContextBase::uniformMatrix4fv(location, transpose, v); |
} |
@@ -3224,15 +3235,16 @@ void WebGL2RenderingContextBase::vertexAttribI4i(GLuint index, |
SetVertexAttribType(index, kInt32ArrayType); |
} |
-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, kInt32ArrayType); |
} |
@@ -3259,15 +3271,16 @@ void WebGL2RenderingContextBase::vertexAttribI4ui(GLuint index, |
SetVertexAttribType(index, kUint32ArrayType); |
} |
-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, kUint32ArrayType); |
} |
@@ -3485,12 +3498,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, |
@@ -3503,14 +3516,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, |
@@ -3523,14 +3537,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, |