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 --- base/path_service.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'base/path_service.cc') diff --git a/base/path_service.cc b/base/path_service.cc index 4381998..56ce5fa 100644 --- a/base/path_service.cc +++ b/base/path_service.cc @@ -13,9 +13,9 @@ #include "base/file_path.h" #include "base/file_util.h" #include "base/hash_tables.h" +#include "base/lazy_instance.h" #include "base/lock.h" #include "base/logging.h" -#include "base/singleton.h" namespace base { bool PathProvider(int key, FilePath* result); @@ -118,8 +118,10 @@ struct PathData { } }; +static base::LazyInstance g_path_data(base::LINKER_INITIALIZED); + static PathData* GetPathData() { - return Singleton::get(); + return g_path_data.Pointer(); } } // namespace -- cgit v1.1