From 49ab556cfe14de363a74ce771931832304a1a038 Mon Sep 17 00:00:00 2001 From: "satish@chromium.org" Date: Sat, 11 Dec 2010 09:13:54 +0000 Subject: Make members of Singleton private and only visible to the singleton type. This enforces that the Singleton pattern can only be used within classes which want singleton-ness. As part of this CL I have also fixed up files which got missed in my previous CLs to use a GetInstance() method and use Singleton from the source file. There are a small number of places where I have also switched to LazyInstance as that was more appropriate for types used in a single source file. BUG=65298 TEST=all existing tests should continue to pass. Review URL: http://codereview.chromium.org/5682008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68932 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/renderer/ggl/ggl.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'chrome/renderer/ggl') diff --git a/chrome/renderer/ggl/ggl.cc b/chrome/renderer/ggl/ggl.cc index 577e853..c95bbb5 100644 --- a/chrome/renderer/ggl/ggl.cc +++ b/chrome/renderer/ggl/ggl.cc @@ -4,8 +4,8 @@ #include "build/build_config.h" +#include "base/lazy_instance.h" #include "base/ref_counted.h" -#include "base/singleton.h" #include "base/weak_ptr.h" #include "chrome/renderer/command_buffer_proxy.h" #include "chrome/renderer/ggl/ggl.h" @@ -48,6 +48,10 @@ class GLES2Initializer { private: DISALLOW_COPY_AND_ASSIGN(GLES2Initializer); }; + +static base::LazyInstance g_gles2_initializer( + base::LINKER_INITIALIZED); + } // namespace anonymous // Manages a GL context. @@ -163,7 +167,7 @@ bool Context::Initialize(gfx::NativeViewId view, return false; // Ensure the gles2 library is initialized first in a thread safe way. - Singleton::get(); + g_gles2_initializer.Get(); // Allocate a frame buffer ID with respect to the parent. if (parent_.get()) { -- cgit v1.1