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

Unified Diff: content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.cc

Issue 8490001: Don't call renderView methods in threaded mode (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.cc
diff --git a/content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.cc b/content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.cc
index 1217392e320519d3cc1a73723ac05c1c8275bcf4..7251bb947ee06ffd30b8f0f945b8a650aaaa93e1 100644
--- a/content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.cc
+++ b/content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.cc
@@ -278,7 +278,9 @@ void WebGraphicsContext3DCommandBufferImpl::prepareTexture() {
// used by the compositor.
RenderViewImpl* renderview =
web_view_ ? RenderViewImpl::FromWebView(web_view_) : NULL;
jamesr 2011/11/09 04:51:58 hold up, this lookup is not threadsafe either. I
- if (renderview)
+ CompositorThread* compositor_thread =
+ RenderThreadImpl::current()->compositor_thread();
+ if (renderview && !compositor_thread)
renderview->OnViewContextSwapBuffersPosted();
context_->SwapBuffers();
context_->Echo(base::Bind(
@@ -1089,7 +1091,9 @@ void WebGraphicsContext3DCommandBufferImpl::OnSwapBuffersComplete() {
// This may be called after tear-down of the RenderView.
RenderViewImpl* renderview =
web_view_ ? RenderViewImpl::FromWebView(web_view_) : NULL;
- if (renderview)
+ CompositorThread* compositor_thread =
+ RenderThreadImpl::current()->compositor_thread();
+ if (renderview && !compositor_thread)
renderview->OnViewContextSwapBuffersComplete();
if (swapbuffers_complete_callback_)
@@ -1148,7 +1152,9 @@ void WebGraphicsContext3DCommandBufferImpl::OnContextLost(
}
RenderViewImpl* renderview =
web_view_ ? RenderViewImpl::FromWebView(web_view_) : NULL;
- if (renderview)
+ CompositorThread* compositor_thread =
+ RenderThreadImpl::current()->compositor_thread();
+ if (renderview && !compositor_thread)
renderview->OnViewContextSwapBuffersAborted();
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698