| Index: Source/core/html/canvas/WebGLRenderingContext.cpp
|
| diff --git a/Source/core/html/canvas/WebGLRenderingContext.cpp b/Source/core/html/canvas/WebGLRenderingContext.cpp
|
| index 59c36311b1d0437bf4acf6957e08f6543b4b3928..028055100558ca1c115991e69e459b28d6a4d8d7 100644
|
| --- a/Source/core/html/canvas/WebGLRenderingContext.cpp
|
| +++ b/Source/core/html/canvas/WebGLRenderingContext.cpp
|
| @@ -3272,7 +3272,7 @@ void WebGLRenderingContext::stencilOpSeparate(GC3Denum face, GC3Denum fail, GC3D
|
| m_context->stencilOpSeparate(face, fail, zfail, zpass);
|
| }
|
|
|
| -void WebGLRenderingContext::texImage2DBase(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, GC3Denum format, GC3Denum type, const void* pixels, ExceptionState& es)
|
| +void WebGLRenderingContext::texImage2DBase(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, GC3Denum format, GC3Denum type, const void* pixels, ExceptionState& exceptionState)
|
| {
|
| // All calling functions check isContextLost, so a duplicate check is not needed here.
|
| // FIXME: Handle errors.
|
| @@ -3286,7 +3286,7 @@ void WebGLRenderingContext::texImage2DBase(GC3Denum target, GC3Dint level, GC3De
|
| tex->setLevelInfo(target, level, internalformat, width, height, type);
|
| }
|
|
|
| -void WebGLRenderingContext::texImage2DImpl(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Denum format, GC3Denum type, Image* image, GraphicsContext3D::ImageHtmlDomSource domSource, bool flipY, bool premultiplyAlpha, ExceptionState& es)
|
| +void WebGLRenderingContext::texImage2DImpl(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Denum format, GC3Denum type, Image* image, GraphicsContext3D::ImageHtmlDomSource domSource, bool flipY, bool premultiplyAlpha, ExceptionState& exceptionState)
|
| {
|
| // All calling functions check isContextLost, so a duplicate check is not needed here.
|
| Vector<uint8_t> data;
|
| @@ -3311,7 +3311,7 @@ void WebGLRenderingContext::texImage2DImpl(GC3Denum target, GC3Dint level, GC3De
|
|
|
| if (m_unpackAlignment != 1)
|
| m_context->pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, 1);
|
| - texImage2DBase(target, level, internalformat, image->width(), image->height(), 0, format, type, needConversion ? data.data() : imagePixelData, es);
|
| + texImage2DBase(target, level, internalformat, image->width(), image->height(), 0, format, type, needConversion ? data.data() : imagePixelData, exceptionState);
|
| if (m_unpackAlignment != 1)
|
| m_context->pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, m_unpackAlignment);
|
| }
|
| @@ -3377,7 +3377,7 @@ PassRefPtr<Image> WebGLRenderingContext::drawImageIntoBuffer(Image* image, int w
|
|
|
| void WebGLRenderingContext::texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat,
|
| GC3Dsizei width, GC3Dsizei height, GC3Dint border,
|
| - GC3Denum format, GC3Denum type, ArrayBufferView* pixels, ExceptionState& es)
|
| + GC3Denum format, GC3Denum type, ArrayBufferView* pixels, ExceptionState& exceptionState)
|
| {
|
| if (isContextLost() || !validateTexFuncData("texImage2D", level, width, height, format, type, pixels, NullAllowed)
|
| || !validateTexFunc("texImage2D", NotTexSubImage2D, SourceArrayBufferView, target, level, internalformat, width, height, border, format, type, 0, 0))
|
| @@ -3397,13 +3397,13 @@ void WebGLRenderingContext::texImage2D(GC3Denum target, GC3Dint level, GC3Denum
|
| }
|
| if (changeUnpackAlignment)
|
| m_context->pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, 1);
|
| - texImage2DBase(target, level, internalformat, width, height, border, format, type, data, es);
|
| + texImage2DBase(target, level, internalformat, width, height, border, format, type, data, exceptionState);
|
| if (changeUnpackAlignment)
|
| m_context->pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, m_unpackAlignment);
|
| }
|
|
|
| void WebGLRenderingContext::texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat,
|
| - GC3Denum format, GC3Denum type, ImageData* pixels, ExceptionState& es)
|
| + GC3Denum format, GC3Denum type, ImageData* pixels, ExceptionState& exceptionState)
|
| {
|
| if (isContextLost() || !pixels || !validateTexFunc("texImage2D", NotTexSubImage2D, SourceImageData, target, level, internalformat, pixels->width(), pixels->height(), 0, format, type, 0, 0))
|
| return;
|
| @@ -3421,15 +3421,15 @@ void WebGLRenderingContext::texImage2D(GC3Denum target, GC3Dint level, GC3Denum
|
| }
|
| if (m_unpackAlignment != 1)
|
| m_context->pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, 1);
|
| - texImage2DBase(target, level, internalformat, pixels->width(), pixels->height(), 0, format, type, needConversion ? data.data() : pixels->data()->data(), es);
|
| + texImage2DBase(target, level, internalformat, pixels->width(), pixels->height(), 0, format, type, needConversion ? data.data() : pixels->data()->data(), exceptionState);
|
| if (m_unpackAlignment != 1)
|
| m_context->pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, m_unpackAlignment);
|
| }
|
|
|
| void WebGLRenderingContext::texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat,
|
| - GC3Denum format, GC3Denum type, HTMLImageElement* image, ExceptionState& es)
|
| + GC3Denum format, GC3Denum type, HTMLImageElement* image, ExceptionState& exceptionState)
|
| {
|
| - if (isContextLost() || !validateHTMLImageElement("texImage2D", image, es))
|
| + if (isContextLost() || !validateHTMLImageElement("texImage2D", image, exceptionState))
|
| return;
|
|
|
| RefPtr<Image> imageForRender = image->cachedImage()->imageForRenderer(image->renderer());
|
| @@ -3439,13 +3439,13 @@ void WebGLRenderingContext::texImage2D(GC3Denum target, GC3Dint level, GC3Denum
|
| if (!imageForRender || !validateTexFunc("texImage2D", NotTexSubImage2D, SourceHTMLImageElement, target, level, internalformat, imageForRender->width(), imageForRender->height(), 0, format, type, 0, 0))
|
| return;
|
|
|
| - texImage2DImpl(target, level, internalformat, format, type, imageForRender.get(), GraphicsContext3D::HtmlDomImage, m_unpackFlipY, m_unpackPremultiplyAlpha, es);
|
| + texImage2DImpl(target, level, internalformat, format, type, imageForRender.get(), GraphicsContext3D::HtmlDomImage, m_unpackFlipY, m_unpackPremultiplyAlpha, exceptionState);
|
| }
|
|
|
| void WebGLRenderingContext::texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat,
|
| - GC3Denum format, GC3Denum type, HTMLCanvasElement* canvas, ExceptionState& es)
|
| + GC3Denum format, GC3Denum type, HTMLCanvasElement* canvas, ExceptionState& exceptionState)
|
| {
|
| - if (isContextLost() || !validateHTMLCanvasElement("texImage2D", canvas, es) || !validateTexFunc("texImage2D", NotTexSubImage2D, SourceHTMLCanvasElement, target, level, internalformat, canvas->width(), canvas->height(), 0, format, type, 0, 0))
|
| + if (isContextLost() || !validateHTMLCanvasElement("texImage2D", canvas, exceptionState) || !validateTexFunc("texImage2D", NotTexSubImage2D, SourceHTMLCanvasElement, target, level, internalformat, canvas->width(), canvas->height(), 0, format, type, 0, 0))
|
| return;
|
|
|
| WebGLTexture* texture = validateTextureBinding("texImage2D", target, true);
|
| @@ -3471,9 +3471,9 @@ void WebGLRenderingContext::texImage2D(GC3Denum target, GC3Dint level, GC3Denum
|
|
|
| RefPtr<ImageData> imageData = canvas->getImageData();
|
| if (imageData)
|
| - texImage2D(target, level, internalformat, format, type, imageData.get(), es);
|
| + texImage2D(target, level, internalformat, format, type, imageData.get(), exceptionState);
|
| else
|
| - texImage2DImpl(target, level, internalformat, format, type, canvas->copiedImage(), GraphicsContext3D::HtmlDomCanvas, m_unpackFlipY, m_unpackPremultiplyAlpha, es);
|
| + texImage2DImpl(target, level, internalformat, format, type, canvas->copiedImage(), GraphicsContext3D::HtmlDomCanvas, m_unpackFlipY, m_unpackPremultiplyAlpha, exceptionState);
|
| }
|
|
|
| PassRefPtr<Image> WebGLRenderingContext::videoFrameToImage(HTMLVideoElement* video, BackingStoreCopy backingStoreCopy)
|
| @@ -3491,9 +3491,9 @@ PassRefPtr<Image> WebGLRenderingContext::videoFrameToImage(HTMLVideoElement* vid
|
| }
|
|
|
| void WebGLRenderingContext::texImage2D(GC3Denum target, GC3Dint level, GC3Denum internalformat,
|
| - GC3Denum format, GC3Denum type, HTMLVideoElement* video, ExceptionState& es)
|
| + GC3Denum format, GC3Denum type, HTMLVideoElement* video, ExceptionState& exceptionState)
|
| {
|
| - if (isContextLost() || !validateHTMLVideoElement("texImage2D", video, es)
|
| + if (isContextLost() || !validateHTMLVideoElement("texImage2D", video, exceptionState)
|
| || !validateTexFunc("texImage2D", NotTexSubImage2D, SourceHTMLVideoElement, target, level, internalformat, video->videoWidth(), video->videoHeight(), 0, format, type, 0, 0))
|
| return;
|
|
|
| @@ -3511,7 +3511,7 @@ void WebGLRenderingContext::texImage2D(GC3Denum target, GC3Dint level, GC3Denum
|
| RefPtr<Image> image = videoFrameToImage(video, ImageBuffer::fastCopyImageMode());
|
| if (!image)
|
| return;
|
| - texImage2DImpl(target, level, internalformat, format, type, image.get(), GraphicsContext3D::HtmlDomVideo, m_unpackFlipY, m_unpackPremultiplyAlpha, es);
|
| + texImage2DImpl(target, level, internalformat, format, type, image.get(), GraphicsContext3D::HtmlDomVideo, m_unpackFlipY, m_unpackPremultiplyAlpha, exceptionState);
|
| }
|
|
|
| void WebGLRenderingContext::texParameter(GC3Denum target, GC3Denum pname, GC3Dfloat paramf, GC3Dint parami, bool isFloat)
|
| @@ -3562,7 +3562,7 @@ void WebGLRenderingContext::texParameteri(GC3Denum target, GC3Denum pname, GC3Di
|
| texParameter(target, pname, 0, param, false);
|
| }
|
|
|
| -void WebGLRenderingContext::texSubImage2DBase(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, const void* pixels, ExceptionState& es)
|
| +void WebGLRenderingContext::texSubImage2DBase(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, const void* pixels, ExceptionState& exceptionState)
|
| {
|
| // FIXME: Handle errors.
|
| ASSERT(!isContextLost());
|
| @@ -3583,7 +3583,7 @@ void WebGLRenderingContext::texSubImage2DBase(GC3Denum target, GC3Dint level, GC
|
| m_context->texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
|
| }
|
|
|
| -void WebGLRenderingContext::texSubImage2DImpl(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Denum format, GC3Denum type, Image* image, GraphicsContext3D::ImageHtmlDomSource domSource, bool flipY, bool premultiplyAlpha, ExceptionState& es)
|
| +void WebGLRenderingContext::texSubImage2DImpl(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Denum format, GC3Denum type, Image* image, GraphicsContext3D::ImageHtmlDomSource domSource, bool flipY, bool premultiplyAlpha, ExceptionState& exceptionState)
|
| {
|
| // All calling functions check isContextLost, so a duplicate check is not needed here.
|
| Vector<uint8_t> data;
|
| @@ -3608,14 +3608,14 @@ void WebGLRenderingContext::texSubImage2DImpl(GC3Denum target, GC3Dint level, GC
|
|
|
| if (m_unpackAlignment != 1)
|
| m_context->pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, 1);
|
| - texSubImage2DBase(target, level, xoffset, yoffset, image->width(), image->height(), format, type, needConversion ? data.data() : imagePixelData, es);
|
| + texSubImage2DBase(target, level, xoffset, yoffset, image->width(), image->height(), format, type, needConversion ? data.data() : imagePixelData, exceptionState);
|
| if (m_unpackAlignment != 1)
|
| m_context->pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, m_unpackAlignment);
|
| }
|
|
|
| void WebGLRenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
|
| GC3Dsizei width, GC3Dsizei height,
|
| - GC3Denum format, GC3Denum type, ArrayBufferView* pixels, ExceptionState& es)
|
| + GC3Denum format, GC3Denum type, ArrayBufferView* pixels, ExceptionState& exceptionState)
|
| {
|
| if (isContextLost() || !validateTexFuncData("texSubImage2D", level, width, height, format, type, pixels, NullNotAllowed)
|
| || !validateTexFunc("texSubImage2D", TexSubImage2D, SourceArrayBufferView, target, level, format, width, height, 0, format, type, xoffset, yoffset))
|
| @@ -3635,13 +3635,13 @@ void WebGLRenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Din
|
| }
|
| if (changeUnpackAlignment)
|
| m_context->pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, 1);
|
| - texSubImage2DBase(target, level, xoffset, yoffset, width, height, format, type, data, es);
|
| + texSubImage2DBase(target, level, xoffset, yoffset, width, height, format, type, data, exceptionState);
|
| if (changeUnpackAlignment)
|
| m_context->pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, m_unpackAlignment);
|
| }
|
|
|
| void WebGLRenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
|
| - GC3Denum format, GC3Denum type, ImageData* pixels, ExceptionState& es)
|
| + GC3Denum format, GC3Denum type, ImageData* pixels, ExceptionState& exceptionState)
|
| {
|
| if (isContextLost() || !pixels || !validateTexFunc("texSubImage2D", TexSubImage2D, SourceImageData, target, level, format, pixels->width(), pixels->height(), 0, format, type, xoffset, yoffset))
|
| return;
|
| @@ -3660,15 +3660,15 @@ void WebGLRenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Din
|
| }
|
| if (m_unpackAlignment != 1)
|
| m_context->pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, 1);
|
| - texSubImage2DBase(target, level, xoffset, yoffset, pixels->width(), pixels->height(), format, type, needConversion ? data.data() : pixels->data()->data(), es);
|
| + texSubImage2DBase(target, level, xoffset, yoffset, pixels->width(), pixels->height(), format, type, needConversion ? data.data() : pixels->data()->data(), exceptionState);
|
| if (m_unpackAlignment != 1)
|
| m_context->pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, m_unpackAlignment);
|
| }
|
|
|
| void WebGLRenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
|
| - GC3Denum format, GC3Denum type, HTMLImageElement* image, ExceptionState& es)
|
| + GC3Denum format, GC3Denum type, HTMLImageElement* image, ExceptionState& exceptionState)
|
| {
|
| - if (isContextLost() || !validateHTMLImageElement("texSubImage2D", image, es))
|
| + if (isContextLost() || !validateHTMLImageElement("texSubImage2D", image, exceptionState))
|
| return;
|
|
|
| RefPtr<Image> imageForRender = image->cachedImage()->imageForRenderer(image->renderer());
|
| @@ -3678,34 +3678,34 @@ void WebGLRenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Din
|
| if (!imageForRender || !validateTexFunc("texSubImage2D", TexSubImage2D, SourceHTMLImageElement, target, level, format, imageForRender->width(), imageForRender->height(), 0, format, type, xoffset, yoffset))
|
| return;
|
|
|
| - texSubImage2DImpl(target, level, xoffset, yoffset, format, type, imageForRender.get(), GraphicsContext3D::HtmlDomImage, m_unpackFlipY, m_unpackPremultiplyAlpha, es);
|
| + texSubImage2DImpl(target, level, xoffset, yoffset, format, type, imageForRender.get(), GraphicsContext3D::HtmlDomImage, m_unpackFlipY, m_unpackPremultiplyAlpha, exceptionState);
|
| }
|
|
|
| void WebGLRenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
|
| - GC3Denum format, GC3Denum type, HTMLCanvasElement* canvas, ExceptionState& es)
|
| + GC3Denum format, GC3Denum type, HTMLCanvasElement* canvas, ExceptionState& exceptionState)
|
| {
|
| - if (isContextLost() || !validateHTMLCanvasElement("texSubImage2D", canvas, es)
|
| + if (isContextLost() || !validateHTMLCanvasElement("texSubImage2D", canvas, exceptionState)
|
| || !validateTexFunc("texSubImage2D", TexSubImage2D, SourceHTMLCanvasElement, target, level, format, canvas->width(), canvas->height(), 0, format, type, xoffset, yoffset))
|
| return;
|
|
|
| RefPtr<ImageData> imageData = canvas->getImageData();
|
| if (imageData)
|
| - texSubImage2D(target, level, xoffset, yoffset, format, type, imageData.get(), es);
|
| + texSubImage2D(target, level, xoffset, yoffset, format, type, imageData.get(), exceptionState);
|
| else
|
| - texSubImage2DImpl(target, level, xoffset, yoffset, format, type, canvas->copiedImage(), GraphicsContext3D::HtmlDomCanvas, m_unpackFlipY, m_unpackPremultiplyAlpha, es);
|
| + texSubImage2DImpl(target, level, xoffset, yoffset, format, type, canvas->copiedImage(), GraphicsContext3D::HtmlDomCanvas, m_unpackFlipY, m_unpackPremultiplyAlpha, exceptionState);
|
| }
|
|
|
| void WebGLRenderingContext::texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset,
|
| - GC3Denum format, GC3Denum type, HTMLVideoElement* video, ExceptionState& es)
|
| + GC3Denum format, GC3Denum type, HTMLVideoElement* video, ExceptionState& exceptionState)
|
| {
|
| - if (isContextLost() || !validateHTMLVideoElement("texSubImage2D", video, es)
|
| + if (isContextLost() || !validateHTMLVideoElement("texSubImage2D", video, exceptionState)
|
| || !validateTexFunc("texSubImage2D", TexSubImage2D, SourceHTMLVideoElement, target, level, format, video->videoWidth(), video->videoHeight(), 0, format, type, xoffset, yoffset))
|
| return;
|
|
|
| RefPtr<Image> image = videoFrameToImage(video, ImageBuffer::fastCopyImageMode());
|
| if (!image)
|
| return;
|
| - texSubImage2DImpl(target, level, xoffset, yoffset, format, type, image.get(), GraphicsContext3D::HtmlDomVideo, m_unpackFlipY, m_unpackPremultiplyAlpha, es);
|
| + texSubImage2DImpl(target, level, xoffset, yoffset, format, type, image.get(), GraphicsContext3D::HtmlDomVideo, m_unpackFlipY, m_unpackPremultiplyAlpha, exceptionState);
|
| }
|
|
|
| void WebGLRenderingContext::uniform1f(const WebGLUniformLocation* location, GC3Dfloat x)
|
| @@ -5137,7 +5137,7 @@ WebGLBuffer* WebGLRenderingContext::validateBufferDataParameters(const char* fun
|
| return 0;
|
| }
|
|
|
| -bool WebGLRenderingContext::validateHTMLImageElement(const char* functionName, HTMLImageElement* image, ExceptionState& es)
|
| +bool WebGLRenderingContext::validateHTMLImageElement(const char* functionName, HTMLImageElement* image, ExceptionState& exceptionState)
|
| {
|
| if (!image || !image->cachedImage()) {
|
| synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, "no image");
|
| @@ -5149,33 +5149,33 @@ bool WebGLRenderingContext::validateHTMLImageElement(const char* functionName, H
|
| return false;
|
| }
|
| if (wouldTaintOrigin(image)) {
|
| - es.throwSecurityError(ExceptionMessages::failedToExecute(functionName, "WebGLRenderingContext", "the cross-origin image at " + url.elidedString() + " may not be loaded."));
|
| + exceptionState.throwSecurityError(ExceptionMessages::failedToExecute(functionName, "WebGLRenderingContext", "the cross-origin image at " + url.elidedString() + " may not be loaded."));
|
| return false;
|
| }
|
| return true;
|
| }
|
|
|
| -bool WebGLRenderingContext::validateHTMLCanvasElement(const char* functionName, HTMLCanvasElement* canvas, ExceptionState& es)
|
| +bool WebGLRenderingContext::validateHTMLCanvasElement(const char* functionName, HTMLCanvasElement* canvas, ExceptionState& exceptionState)
|
| {
|
| if (!canvas || !canvas->buffer()) {
|
| synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, "no canvas");
|
| return false;
|
| }
|
| if (wouldTaintOrigin(canvas)) {
|
| - es.throwSecurityError(ExceptionMessages::failedToExecute(functionName, "WebGLRenderingContext", "tainted canvases may not be loded."));
|
| + exceptionState.throwSecurityError(ExceptionMessages::failedToExecute(functionName, "WebGLRenderingContext", "tainted canvases may not be loded."));
|
| return false;
|
| }
|
| return true;
|
| }
|
|
|
| -bool WebGLRenderingContext::validateHTMLVideoElement(const char* functionName, HTMLVideoElement* video, ExceptionState& es)
|
| +bool WebGLRenderingContext::validateHTMLVideoElement(const char* functionName, HTMLVideoElement* video, ExceptionState& exceptionState)
|
| {
|
| if (!video || !video->videoWidth() || !video->videoHeight()) {
|
| synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, "no video");
|
| return false;
|
| }
|
| if (wouldTaintOrigin(video)) {
|
| - es.throwSecurityError(ExceptionMessages::failedToExecute(functionName, "WebGLRenderingContext", "the video element contains cross-origin data, and may not be loaded."));
|
| + exceptionState.throwSecurityError(ExceptionMessages::failedToExecute(functionName, "WebGLRenderingContext", "the video element contains cross-origin data, and may not be loaded."));
|
| return false;
|
| }
|
| return true;
|
|
|