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

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

Issue 7713015: Split WebGraphicsContext3DCommandBufferImpl::initialize() into two stages. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Limited scope of lock, added comment Created 9 years, 4 months 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
Index: content/renderer/gpu/renderer_gl_context.cc
===================================================================
--- content/renderer/gpu/renderer_gl_context.cc (revision 98270)
+++ content/renderer/gpu/renderer_gl_context.cc (working copy)
@@ -10,6 +10,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/memory/singleton.h"
#include "base/memory/weak_ptr.h"
+#include "base/message_loop.h"
#include "base/shared_memory.h"
#include "content/common/view_messages.h"
#include "content/renderer/gpu/command_buffer_proxy.h"
@@ -209,6 +210,7 @@
bool RendererGLContext::MakeCurrent(RendererGLContext* context) {
if (context) {
+ DCHECK(MessageLoop::current() == context->message_loop_);
gles2::SetGLContext(context->gles2_implementation_);
// Don't request latest error status from service. Just use the locally
@@ -284,7 +286,11 @@
transfer_buffer_id_(-1),
gles2_implementation_(NULL),
last_error_(SUCCESS),
- frame_number_(0) {
+ frame_number_(0)
+#ifndef NDEBUG
+ , message_loop_(MessageLoop::current())
+#endif
+{
DCHECK(channel);
}
@@ -297,6 +303,7 @@
const char* allowed_extensions,
const int32* attrib_list,
const GURL& active_url) {
+ DCHECK(MessageLoop::current() == message_loop_);
DCHECK(size.width() >= 0 && size.height() >= 0);
TRACE_EVENT2("gpu", "RendererGLContext::Initialize",
"on_screen", onscreen, "num_pixels", size.GetArea());
@@ -415,6 +422,7 @@
void RendererGLContext::Destroy() {
TRACE_EVENT0("gpu", "RendererGLContext::Destroy");
+ DCHECK(MessageLoop::current() == message_loop_);
SetParent(NULL);
if (gles2_implementation_) {

Powered by Google App Engine
This is Rietveld 408576698