summaryrefslogtreecommitdiffstats
path: root/chrome/browser/safe_browsing
diff options
context:
space:
mode:
authorsatish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-14 07:48:49 +0000
committersatish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-14 07:48:49 +0000
commit625332e06437018bf696dce93a4b2bd2c5e0b118 (patch)
tree56e128ddf94a81b6de1f29a9eabe59f0d79346c9 /chrome/browser/safe_browsing
parentdc7cdcb970254f223262a66c812f240a8269ae87 (diff)
downloadchromium_src-625332e06437018bf696dce93a4b2bd2c5e0b118.zip
chromium_src-625332e06437018bf696dce93a4b2bd2c5e0b118.tar.gz
chromium_src-625332e06437018bf696dce93a4b2bd2c5e0b118.tar.bz2
Make members of Singleton<T> private and only visible to the singleton type. This enforces that the Singleton<T> 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<T> 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@69107 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/safe_browsing')
-rw-r--r--chrome/browser/safe_browsing/safe_browsing_blocking_page.cc5
-rw-r--r--chrome/browser/safe_browsing/safe_browsing_blocking_page.h6
2 files changed, 7 insertions, 4 deletions
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
index 245aea7..d683d97 100644
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
@@ -76,6 +76,9 @@ static const char* const kTakeMeBackCommand = "takeMeBack";
// static
SafeBrowsingBlockingPageFactory* SafeBrowsingBlockingPage::factory_ = NULL;
+static base::LazyInstance<SafeBrowsingBlockingPage::UnsafeResourceMap>
+ g_unsafe_resource_map(base::LINKER_INITIALIZED);
+
// The default SafeBrowsingBlockingPageFactory. Global, made a singleton so we
// don't leak it.
class SafeBrowsingBlockingPageFactoryImpl
@@ -555,7 +558,7 @@ void SafeBrowsingBlockingPage::NotifySafeBrowsingService(
// static
SafeBrowsingBlockingPage::UnsafeResourceMap*
SafeBrowsingBlockingPage::GetUnsafeResourcesMap() {
- return Singleton<UnsafeResourceMap>::get();
+ return g_unsafe_resource_map.Pointer();
}
// static
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page.h b/chrome/browser/safe_browsing/safe_browsing_blocking_page.h
index 53b21a0..cfe2358 100644
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page.h
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page.h
@@ -44,6 +44,9 @@ class TabContents;
class SafeBrowsingBlockingPage : public InterstitialPage {
public:
+ typedef std::vector<SafeBrowsingService::UnsafeResource> UnsafeResourceList;
+ typedef std::map<TabContents*, UnsafeResourceList> UnsafeResourceMap;
+
virtual ~SafeBrowsingBlockingPage();
// Shows a blocking page warning the user about phishing/malware for a
@@ -66,8 +69,6 @@ class SafeBrowsingBlockingPage : public InterstitialPage {
virtual void Proceed();
virtual void DontProceed();
- typedef std::vector<SafeBrowsingService::UnsafeResource> UnsafeResourceList;
-
protected:
friend class SafeBrowsingBlockingPageTest;
@@ -118,7 +119,6 @@ class SafeBrowsingBlockingPage : public InterstitialPage {
// A list of SafeBrowsingService::UnsafeResource for a tab that the user
// should be warned about. They are queued when displaying more than one
// interstitial at a time.
- typedef std::map<TabContents*, UnsafeResourceList> UnsafeResourceMap;
static UnsafeResourceMap* GetUnsafeResourcesMap();
// Notifies the SafeBrowsingService on the IO thread whether to proceed or not