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

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

Issue 2806803003: Make OffscreenCanvas WebGL(2) context consider taintedness of image source (Closed)
Patch Set: rebase 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/WebGL2RenderingContextBase.cpp
diff --git a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
index 47eae64de91e1ac45dbb06d051642e99d936729a..e1bb6d2aa31253cf2d6c9babb5a1d2d7e969714b 100644
--- a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
+++ b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
@@ -1189,7 +1189,8 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target,
GetTextureSourceSubRectangle(width, height), 0);
}
-void WebGL2RenderingContextBase::texImage2D(GLenum target,
+void WebGL2RenderingContextBase::texImage2D(ExecutionContext* execution_context,
+ GLenum target,
GLint level,
GLint internalformat,
GLsizei width,
@@ -1206,13 +1207,15 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target,
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- TexImageHelperHTMLImageElement(kTexImage2D, target, level, internalformat,
+ TexImageHelperHTMLImageElement(execution_context->GetSecurityOrigin(),
+ kTexImage2D, target, level, internalformat,
format, type, 0, 0, 0, image,
GetTextureSourceSubRectangle(width, height), 1,
unpack_image_height_, exception_state);
}
-void WebGL2RenderingContextBase::texImage2D(GLenum target,
+void WebGL2RenderingContextBase::texImage2D(ExecutionContext* execution_context,
+ GLenum target,
GLint level,
GLint internalformat,
GLsizei width,
@@ -1229,12 +1232,15 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target,
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
+
TexImageHelperHTMLCanvasElement(
- kTexImage2D, target, level, internalformat, format, type, 0, 0, 0, canvas,
+ execution_context->GetSecurityOrigin(), kTexImage2D, target, level,
+ internalformat, format, type, 0, 0, 0, canvas,
GetTextureSourceSubRectangle(width, height), 1, 0, exception_state);
}
-void WebGL2RenderingContextBase::texImage2D(GLenum target,
+void WebGL2RenderingContextBase::texImage2D(ExecutionContext* execution_context,
+ GLenum target,
GLint level,
GLint internalformat,
GLsizei width,
@@ -1251,8 +1257,10 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target,
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
+
TexImageHelperHTMLVideoElement(
- kTexImage2D, target, level, internalformat, format, type, 0, 0, 0, video,
+ execution_context->GetSecurityOrigin(), kTexImage2D, target, level,
+ internalformat, format, type, 0, 0, 0, video,
GetTextureSourceSubRectangle(width, height), 1, 0, exception_state);
}
@@ -1296,7 +1304,8 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target,
type, image_data);
}
-void WebGL2RenderingContextBase::texImage2D(GLenum target,
+void WebGL2RenderingContextBase::texImage2D(ExecutionContext* execution_context,
+ GLenum target,
GLint level,
GLint internalformat,
GLenum format,
@@ -1310,11 +1319,14 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target,
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- WebGLRenderingContextBase::texImage2D(target, level, internalformat, format,
- type, image, exception_state);
+
+ WebGLRenderingContextBase::texImage2D(execution_context, target, level,
+ internalformat, format, type, image,
+ exception_state);
}
-void WebGL2RenderingContextBase::texImage2D(GLenum target,
+void WebGL2RenderingContextBase::texImage2D(ExecutionContext* execution_context,
+ GLenum target,
GLint level,
GLint internalformat,
GLenum format,
@@ -1328,11 +1340,14 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target,
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- WebGLRenderingContextBase::texImage2D(target, level, internalformat, format,
- type, canvas, exception_state);
+
+ WebGLRenderingContextBase::texImage2D(execution_context, target, level,
+ internalformat, format, type, canvas,
+ exception_state);
}
-void WebGL2RenderingContextBase::texImage2D(GLenum target,
+void WebGL2RenderingContextBase::texImage2D(ExecutionContext* execution_context,
+ GLenum target,
GLint level,
GLint internalformat,
GLenum format,
@@ -1346,8 +1361,10 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target,
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- WebGLRenderingContextBase::texImage2D(target, level, internalformat, format,
- type, video, exception_state);
+
+ WebGLRenderingContextBase::texImage2D(execution_context, target, level,
+ internalformat, format, type, video,
+ exception_state);
}
void WebGL2RenderingContextBase::texImage2D(GLenum target,
@@ -1433,6 +1450,7 @@ void WebGL2RenderingContextBase::texSubImage2D(GLenum target,
}
void WebGL2RenderingContextBase::texSubImage2D(
+ ExecutionContext* execution_context,
GLenum target,
GLint level,
GLint xoffset,
@@ -1450,13 +1468,15 @@ void WebGL2RenderingContextBase::texSubImage2D(
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- TexImageHelperHTMLImageElement(kTexSubImage2D, target, level, 0, format, type,
- xoffset, yoffset, 0, image,
- GetTextureSourceSubRectangle(width, height), 1,
- 0, exception_state);
+
+ TexImageHelperHTMLImageElement(
+ execution_context->GetSecurityOrigin(), kTexSubImage2D, target, level, 0,
+ format, type, xoffset, yoffset, 0, image,
+ GetTextureSourceSubRectangle(width, height), 1, 0, exception_state);
}
void WebGL2RenderingContextBase::texSubImage2D(
+ ExecutionContext* execution_context,
GLenum target,
GLint level,
GLint xoffset,
@@ -1474,13 +1494,15 @@ void WebGL2RenderingContextBase::texSubImage2D(
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- TexImageHelperHTMLCanvasElement(kTexSubImage2D, target, level, 0, format,
- type, xoffset, yoffset, 0, canvas,
- GetTextureSourceSubRectangle(width, height),
- 1, 0, exception_state);
+
+ TexImageHelperHTMLCanvasElement(
+ execution_context->GetSecurityOrigin(), kTexSubImage2D, target, level, 0,
+ format, type, xoffset, yoffset, 0, canvas,
+ GetTextureSourceSubRectangle(width, height), 1, 0, exception_state);
}
void WebGL2RenderingContextBase::texSubImage2D(
+ ExecutionContext* execution_context,
GLenum target,
GLint level,
GLint xoffset,
@@ -1498,10 +1520,11 @@ void WebGL2RenderingContextBase::texSubImage2D(
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- TexImageHelperHTMLVideoElement(kTexSubImage2D, target, level, 0, format, type,
- xoffset, yoffset, 0, video,
- GetTextureSourceSubRectangle(width, height), 1,
- 0, exception_state);
+
+ TexImageHelperHTMLVideoElement(
+ execution_context->GetSecurityOrigin(), kTexSubImage2D, target, level, 0,
+ format, type, xoffset, yoffset, 0, video,
+ GetTextureSourceSubRectangle(width, height), 1, 0, exception_state);
}
void WebGL2RenderingContextBase::texSubImage2D(
@@ -1548,6 +1571,7 @@ void WebGL2RenderingContextBase::texSubImage2D(GLenum target,
}
void WebGL2RenderingContextBase::texSubImage2D(
+ ExecutionContext* execution_context,
GLenum target,
GLint level,
GLint xoffset,
@@ -1563,11 +1587,14 @@ void WebGL2RenderingContextBase::texSubImage2D(
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- WebGLRenderingContextBase::texSubImage2D(
- target, level, xoffset, yoffset, format, type, image, exception_state);
+
+ WebGLRenderingContextBase::texSubImage2D(execution_context, target, level,
+ xoffset, yoffset, format, type,
+ image, exception_state);
}
void WebGL2RenderingContextBase::texSubImage2D(
+ ExecutionContext* execution_context,
GLenum target,
GLint level,
GLint xoffset,
@@ -1583,11 +1610,14 @@ void WebGL2RenderingContextBase::texSubImage2D(
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- WebGLRenderingContextBase::texSubImage2D(
- target, level, xoffset, yoffset, format, type, canvas, exception_state);
+
+ WebGLRenderingContextBase::texSubImage2D(execution_context, target, level,
+ xoffset, yoffset, format, type,
+ canvas, exception_state);
}
void WebGL2RenderingContextBase::texSubImage2D(
+ ExecutionContext* execution_context,
GLenum target,
GLint level,
GLint xoffset,
@@ -1596,8 +1626,9 @@ void WebGL2RenderingContextBase::texSubImage2D(
GLenum type,
HTMLVideoElement* video,
ExceptionState& exception_state) {
- WebGLRenderingContextBase::texSubImage2D(
- target, level, xoffset, yoffset, format, type, video, exception_state);
+ WebGLRenderingContextBase::texSubImage2D(execution_context, target, level,
+ xoffset, yoffset, format, type,
+ video, exception_state);
}
void WebGL2RenderingContextBase::texSubImage2D(
@@ -1738,7 +1769,8 @@ void WebGL2RenderingContextBase::texImage3D(GLenum target,
unpack_image_height_);
}
-void WebGL2RenderingContextBase::texImage3D(GLenum target,
+void WebGL2RenderingContextBase::texImage3D(ExecutionContext* execution_context,
+ GLenum target,
GLint level,
GLint internalformat,
GLsizei width,
@@ -1756,13 +1788,16 @@ void WebGL2RenderingContextBase::texImage3D(GLenum target,
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- TexImageHelperHTMLImageElement(kTexImage3D, target, level, internalformat,
+
+ TexImageHelperHTMLImageElement(execution_context->GetSecurityOrigin(),
+ kTexImage3D, target, level, internalformat,
format, type, 0, 0, 0, image,
GetTextureSourceSubRectangle(width, height),
depth, unpack_image_height_, exception_state);
}
-void WebGL2RenderingContextBase::texImage3D(GLenum target,
+void WebGL2RenderingContextBase::texImage3D(ExecutionContext* execution_context,
+ GLenum target,
GLint level,
GLint internalformat,
GLsizei width,
@@ -1780,13 +1815,16 @@ void WebGL2RenderingContextBase::texImage3D(GLenum target,
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- TexImageHelperHTMLCanvasElement(kTexImage3D, target, level, internalformat,
+
+ TexImageHelperHTMLCanvasElement(execution_context->GetSecurityOrigin(),
+ kTexImage3D, target, level, internalformat,
format, type, 0, 0, 0, canvas,
GetTextureSourceSubRectangle(width, height),
depth, unpack_image_height_, exception_state);
}
-void WebGL2RenderingContextBase::texImage3D(GLenum target,
+void WebGL2RenderingContextBase::texImage3D(ExecutionContext* execution_context,
+ GLenum target,
GLint level,
GLint internalformat,
GLsizei width,
@@ -1804,7 +1842,9 @@ void WebGL2RenderingContextBase::texImage3D(GLenum target,
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- TexImageHelperHTMLVideoElement(kTexImage3D, target, level, internalformat,
+
+ TexImageHelperHTMLVideoElement(execution_context->GetSecurityOrigin(),
+ kTexImage3D, target, level, internalformat,
format, type, 0, 0, 0, video,
GetTextureSourceSubRectangle(width, height),
depth, unpack_image_height_, exception_state);
@@ -1916,6 +1956,7 @@ void WebGL2RenderingContextBase::texSubImage3D(GLenum target,
}
void WebGL2RenderingContextBase::texSubImage3D(
+ ExecutionContext* execution_context,
GLenum target,
GLint level,
GLint xoffset,
@@ -1935,13 +1976,16 @@ void WebGL2RenderingContextBase::texSubImage3D(
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- TexImageHelperHTMLImageElement(kTexSubImage3D, target, level, 0, format, type,
+
+ TexImageHelperHTMLImageElement(execution_context->GetSecurityOrigin(),
+ kTexSubImage3D, target, level, 0, format, type,
xoffset, yoffset, zoffset, image,
GetTextureSourceSubRectangle(width, height),
depth, unpack_image_height_, exception_state);
}
void WebGL2RenderingContextBase::texSubImage3D(
+ ExecutionContext* execution_context,
GLenum target,
GLint level,
GLint xoffset,
@@ -1961,13 +2005,16 @@ void WebGL2RenderingContextBase::texSubImage3D(
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- TexImageHelperHTMLCanvasElement(kTexSubImage3D, target, level, 0, format,
+
+ TexImageHelperHTMLCanvasElement(execution_context->GetSecurityOrigin(),
+ kTexSubImage3D, target, level, 0, format,
type, xoffset, yoffset, zoffset, canvas,
GetTextureSourceSubRectangle(width, height),
depth, unpack_image_height_, exception_state);
}
void WebGL2RenderingContextBase::texSubImage3D(
+ ExecutionContext* execution_context,
GLenum target,
GLint level,
GLint xoffset,
@@ -1987,7 +2034,9 @@ void WebGL2RenderingContextBase::texSubImage3D(
"a buffer is bound to PIXEL_UNPACK_BUFFER");
return;
}
- TexImageHelperHTMLVideoElement(kTexSubImage3D, target, level, 0, format, type,
+
+ TexImageHelperHTMLVideoElement(execution_context->GetSecurityOrigin(),
+ kTexSubImage3D, target, level, 0, format, type,
xoffset, yoffset, zoffset, video,
GetTextureSourceSubRectangle(width, height),
depth, unpack_image_height_, exception_state);

Powered by Google App Engine
This is Rietveld 408576698