summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcyzero.kim <cyzero.kim@samsung.com>2015-12-02 19:05:10 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-03 03:06:02 +0000
commit9945a7390fca9a23c5ce365c5e4f39c2bf908cd6 (patch)
tree3b6505a70b342a5ade248114d8388e8f8dcdbe0f
parent859410a5e85488c0b79de51814351f30cf2814a5 (diff)
downloadchromium_src-9945a7390fca9a23c5ce365c5e4f39c2bf908cd6.zip
chromium_src-9945a7390fca9a23c5ce365c5e4f39c2bf908cd6.tar.gz
chromium_src-9945a7390fca9a23c5ce365c5e4f39c2bf908cd6.tar.bz2
Fix the crash problem of WebGL2 Query api.
It need to exception handling for null argument. BUG=561217 Review URL: https://codereview.chromium.org/1473023007 Cr-Commit-Position: refs/heads/master@{#362879}
-rw-r--r--third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
index 87fddec..2e298a3a 100644
--- a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
+++ b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
@@ -1654,6 +1654,9 @@ WebGLQuery* WebGL2RenderingContextBase::createQuery()
void WebGL2RenderingContextBase::deleteQuery(WebGLQuery* query)
{
+ if (isContextLost() || !query)
+ return;
+
if (m_currentBooleanOcclusionQuery == query) {
webContext()->endQueryEXT(m_currentBooleanOcclusionQuery->getTarget());
m_currentBooleanOcclusionQuery = nullptr;
@@ -1678,6 +1681,11 @@ GLboolean WebGL2RenderingContextBase::isQuery(WebGLQuery* query)
void WebGL2RenderingContextBase::beginQuery(GLenum target, WebGLQuery* query)
{
bool deleted;
+ if (!query) {
+ synthesizeGLError(GL_INVALID_OPERATION, "beginQuery", "query object is null");
+ return;
+ }
+
if (!checkObjectToBeBound("beginQuery", query, deleted))
return;
if (deleted) {