Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1177)

Unified Diff: third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp

Issue 2707243006: [SharedArrayBuffer] Prevent SharedArrayBuffer being used in Web APIs (Closed)
Patch Set: remove unused checks Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698