diff options
author | cyzero.kim <cyzero.kim@samsung.com> | 2015-12-02 19:05:10 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-03 03:06:02 +0000 |
commit | 9945a7390fca9a23c5ce365c5e4f39c2bf908cd6 (patch) | |
tree | 3b6505a70b342a5ade248114d8388e8f8dcdbe0f | |
parent | 859410a5e85488c0b79de51814351f30cf2814a5 (diff) | |
download | chromium_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.cpp | 8 |
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) { |