diff options
author | husky@google.com <husky@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-05 13:33:51 +0000 |
---|---|---|
committer | husky@google.com <husky@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-05 13:33:51 +0000 |
commit | a2d451524eb8568b3e55b599645693b3d819a10c (patch) | |
tree | 6161b006635d4a24894564cfc7792385cd676f05 | |
parent | 26333cbb1de1a723a889e13303895103a01baeb1 (diff) | |
download | chromium_src-a2d451524eb8568b3e55b599645693b3d819a10c.zip chromium_src-a2d451524eb8568b3e55b599645693b3d819a10c.tar.gz chromium_src-a2d451524eb8568b3e55b599645693b3d819a10c.tar.bz2 |
Fix build error in release mode.
I used a mix of NDEBUG and DHECK, but I didn't realise
that DCHECKs are still compiled in release builds, and
that the try bots don't catch this.
Updated to use base::NonThreadSafe, which is both
simpler and safer.
TBR=kbr@chromium.org
Review URL: http://codereview.chromium.org/7834021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99650 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | content/renderer/gpu/renderer_gl_context.cc | 13 | ||||
-rw-r--r-- | content/renderer/gpu/renderer_gl_context.h | 9 |
2 files changed, 7 insertions, 15 deletions
diff --git a/content/renderer/gpu/renderer_gl_context.cc b/content/renderer/gpu/renderer_gl_context.cc index d085229..255bd13 100644 --- a/content/renderer/gpu/renderer_gl_context.cc +++ b/content/renderer/gpu/renderer_gl_context.cc @@ -10,7 +10,6 @@ #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" @@ -200,7 +199,7 @@ void RendererGLContext::SetContextLostCallback( bool RendererGLContext::MakeCurrent(RendererGLContext* context) { if (context) { - DCHECK(MessageLoop::current() == context->message_loop_); + DCHECK(context->CalledOnValidThread()); gles2::SetGLContext(context->gles2_implementation_); // Don't request latest error status from service. Just use the locally @@ -281,11 +280,7 @@ RendererGLContext::RendererGLContext(GpuChannelHost* channel) transfer_buffer_id_(-1), gles2_implementation_(NULL), last_error_(SUCCESS), - frame_number_(0) -#ifndef NDEBUG - , message_loop_(MessageLoop::current()) -#endif -{ + frame_number_(0) { DCHECK(channel); } @@ -296,7 +291,7 @@ bool RendererGLContext::Initialize(bool onscreen, const char* allowed_extensions, const int32* attrib_list, const GURL& active_url) { - DCHECK(MessageLoop::current() == message_loop_); + DCHECK(CalledOnValidThread()); DCHECK(size.width() >= 0 && size.height() >= 0); TRACE_EVENT2("gpu", "RendererGLContext::Initialize", "on_screen", onscreen, "num_pixels", size.GetArea()); @@ -420,7 +415,7 @@ bool RendererGLContext::Initialize(bool onscreen, void RendererGLContext::Destroy() { TRACE_EVENT0("gpu", "RendererGLContext::Destroy"); - DCHECK(MessageLoop::current() == message_loop_); + DCHECK(CalledOnValidThread()); SetParent(NULL); if (gles2_implementation_) { diff --git a/content/renderer/gpu/renderer_gl_context.h b/content/renderer/gpu/renderer_gl_context.h index 33e8806..8b04fd2 100644 --- a/content/renderer/gpu/renderer_gl_context.h +++ b/content/renderer/gpu/renderer_gl_context.h @@ -14,12 +14,12 @@ #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" +#include "base/threading/non_thread_safe.h" #include "build/build_config.h" #include "ui/gfx/native_widget_types.h" #include "ui/gfx/size.h" class GpuChannelHost; -class MessageLoop; class CommandBufferProxy; class GURL; class Task; @@ -32,7 +32,8 @@ class GLES2Implementation; } } -class RendererGLContext : public base::SupportsWeakPtr<RendererGLContext> { +class RendererGLContext : public base::SupportsWeakPtr<RendererGLContext>, + public base::NonThreadSafe { public: // These are the same error codes as used by EGL. enum Error { @@ -199,10 +200,6 @@ class RendererGLContext : public base::SupportsWeakPtr<RendererGLContext> { gpu::gles2::GLES2Implementation* gles2_implementation_; Error last_error_; int frame_number_; -#ifndef NDEBUG - // Used to assert that this object is used on a single thread. - MessageLoop* message_loop_; -#endif DISALLOW_COPY_AND_ASSIGN(RendererGLContext); }; |