summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authorjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-05 01:20:18 +0000
committerjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-05 01:20:18 +0000
commita9938b4f9bd685204cc7985606da4d35a280446d (patch)
treebbbcca95bd2634cc9fac37293969f1bcd6bff426 /content/renderer
parentafc4f26f51818368ae6d9ea3fbe643df2cba6d52 (diff)
downloadchromium_src-a9938b4f9bd685204cc7985606da4d35a280446d.zip
chromium_src-a9938b4f9bd685204cc7985606da4d35a280446d.tar.gz
chromium_src-a9938b4f9bd685204cc7985606da4d35a280446d.tar.bz2
Check if RTI::SharedMainThreadContextProvider is there before wrapping
It's not valid to wrap a NULL cc::ContextProvider in a WebGraphicsContext3DProvider, so NULL check it before wrapping. The SharedMainThreadContextProvider() could be NULL if we can't create and bind a valid context, which can happen if the GPU is unhappy or the process crashes any early point in initialization. BUG=301555 Review URL: https://codereview.chromium.org/26028004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227166 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer')
-rw-r--r--content/renderer/renderer_webkitplatformsupport_impl.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/content/renderer/renderer_webkitplatformsupport_impl.cc b/content/renderer/renderer_webkitplatformsupport_impl.cc
index d557e1d..0fbb5f4 100644
--- a/content/renderer/renderer_webkitplatformsupport_impl.cc
+++ b/content/renderer/renderer_webkitplatformsupport_impl.cc
@@ -957,9 +957,11 @@ RendererWebKitPlatformSupportImpl::createOffscreenGraphicsContext3D(
WebKit::WebGraphicsContext3DProvider* RendererWebKitPlatformSupportImpl::
createSharedOffscreenGraphicsContext3DProvider() {
- WebKit::WebGraphicsContext3D::Attributes attr;
- return new webkit::gpu::WebGraphicsContext3DProviderImpl(
- RenderThreadImpl::current()->SharedMainThreadContextProvider());
+ scoped_refptr<cc::ContextProvider> provider =
+ RenderThreadImpl::current()->SharedMainThreadContextProvider();
+ if (!provider)
+ return NULL;
+ return new webkit::gpu::WebGraphicsContext3DProviderImpl(provider);
}
//------------------------------------------------------------------------------