summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-27 05:07:18 +0000
committerrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-27 05:07:18 +0000
commita3988cc6dc963e8e8672448056246d649ca7fa45 (patch)
treed1a40f61028199fb14e21e501b408559e4b75b94
parent9c6d4ea8b0db32fe8e55e0aedebf0d5e198621d4 (diff)
downloadchromium_src-a3988cc6dc963e8e8672448056246d649ca7fa45.zip
chromium_src-a3988cc6dc963e8e8672448056246d649ca7fa45.tar.gz
chromium_src-a3988cc6dc963e8e8672448056246d649ca7fa45.tar.bz2
RefCounted types should not have public destructors, chrome/browser/ part 1
BUG=123295 TEST=none Review URL: http://codereview.chromium.org/10071032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134231 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/component_updater/component_updater_service.cc2
-rw-r--r--chrome/browser/history/history_browsertest.cc7
-rw-r--r--chrome/browser/history/history_extension_api.h58
-rw-r--r--chrome/browser/history/history_types.h2
-rw-r--r--chrome/browser/history/in_memory_url_index.cc7
-rw-r--r--chrome/browser/history/in_memory_url_index.h3
-rw-r--r--chrome/browser/history/shortcuts_backend.cc4
-rw-r--r--chrome/browser/history/shortcuts_backend.h6
-rw-r--r--chrome/browser/history/shortcuts_database.cc4
-rw-r--r--chrome/browser/history/shortcuts_database.h5
-rw-r--r--chrome/browser/history/top_sites.cc2
-rw-r--r--chrome/browser/history/top_sites_extension_api.cc6
-rw-r--r--chrome/browser/history/top_sites_extension_api.h7
-rw-r--r--chrome/browser/history/top_sites_unittest.cc2
-rw-r--r--chrome/browser/net/crl_set_fetcher.cc8
-rw-r--r--chrome/browser/net/crl_set_fetcher.h5
-rw-r--r--chrome/browser/net/sqlite_persistent_cookie_store.cc18
-rw-r--r--chrome/browser/net/sqlite_persistent_cookie_store.h11
-rw-r--r--chrome/browser/net/sqlite_persistent_cookie_store_unittest.cc2
-rw-r--r--chrome/browser/net/sqlite_server_bound_cert_store.cc18
-rw-r--r--chrome/browser/net/sqlite_server_bound_cert_store.h6
-rw-r--r--chrome/browser/net/sqlite_server_bound_cert_store_unittest.cc2
-rw-r--r--chrome/browser/net/ssl_config_service_manager_pref.cc3
23 files changed, 121 insertions, 67 deletions
diff --git a/chrome/browser/component_updater/component_updater_service.cc b/chrome/browser/component_updater/component_updater_service.cc
index aa36a8d..b24d100 100644
--- a/chrome/browser/component_updater/component_updater_service.cc
+++ b/chrome/browser/component_updater/component_updater_service.cc
@@ -260,6 +260,8 @@ class CrxUpdateService : public ComponentUpdateService {
}
private:
+ virtual ~ManifestParserBridge() {}
+
// Omaha update response XML was successfully parsed.
void OnParseUpdateManifestSucceeded(const UpdateManifest::Results& r) {
service_->OnParseUpdateManifestSucceeded(r);
diff --git a/chrome/browser/history/history_browsertest.cc b/chrome/browser/history/history_browsertest.cc
index c636af7..6d5ad8d 100644
--- a/chrome/browser/history/history_browsertest.cc
+++ b/chrome/browser/history/history_browsertest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -35,8 +35,7 @@ namespace {
// Notifies the main thread after all history backend thread tasks have run.
class WaitForHistoryTask : public HistoryDBTask {
public:
- WaitForHistoryTask() {
- }
+ WaitForHistoryTask() {}
virtual bool RunOnDBThread(history::HistoryBackend* backend,
history::HistoryDatabase* db) {
@@ -48,6 +47,8 @@ class WaitForHistoryTask : public HistoryDBTask {
}
private:
+ virtual ~WaitForHistoryTask() {}
+
DISALLOW_COPY_AND_ASSIGN(WaitForHistoryTask);
};
diff --git a/chrome/browser/history/history_extension_api.h b/chrome/browser/history/history_extension_api.h
index e66ea76..bd5b2f2 100644
--- a/chrome/browser/history/history_extension_api.h
+++ b/chrome/browser/history/history_extension_api.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -48,9 +48,9 @@ class HistoryExtensionEventRouter : public content::NotificationObserver {
// Base class for history function APIs.
class HistoryFunction : public AsyncExtensionFunction {
- public:
+ protected:
+ virtual ~HistoryFunction() {}
virtual void Run() OVERRIDE;
- virtual bool RunImpl() = 0;
bool GetUrlFromValue(base::Value* value, GURL* url);
bool GetTimeFromValue(base::Value* value, base::Time* time);
@@ -61,8 +61,13 @@ class HistoryFunction : public AsyncExtensionFunction {
class HistoryFunctionWithCallback : public HistoryFunction {
public:
HistoryFunctionWithCallback();
+
+ protected:
virtual ~HistoryFunctionWithCallback();
+ // ExtensionFunction:
+ virtual bool RunImpl() OVERRIDE;
+
// Return true if the async call was completed, false otherwise.
virtual bool RunAsyncImpl() = 0;
@@ -70,10 +75,6 @@ class HistoryFunctionWithCallback : public HistoryFunction {
// This method calls Release().
virtual void SendAsyncResponse();
- // Override HistoryFunction::RunImpl.
- virtual bool RunImpl() OVERRIDE;
-
- protected:
// The consumer for the HistoryService callbacks.
CancelableRequestConsumer cancelable_consumer_;
@@ -85,10 +86,14 @@ class HistoryFunctionWithCallback : public HistoryFunction {
class GetVisitsHistoryFunction : public HistoryFunctionWithCallback {
public:
- // Override HistoryFunction.
- virtual bool RunAsyncImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("history.getVisits");
+ protected:
+ virtual ~GetVisitsHistoryFunction() {}
+
+ // HistoryFunctionWithCallback:
+ virtual bool RunAsyncImpl() OVERRIDE;
+
// Callback for the history function to provide results.
void QueryComplete(HistoryService::Handle request_service,
bool success,
@@ -98,9 +103,14 @@ class GetVisitsHistoryFunction : public HistoryFunctionWithCallback {
class SearchHistoryFunction : public HistoryFunctionWithCallback {
public:
- virtual bool RunAsyncImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("history.search");
+ protected:
+ virtual ~SearchHistoryFunction() {}
+
+ // HistoryFunctionWithCallback:
+ virtual bool RunAsyncImpl() OVERRIDE;
+
// Callback for the history function to provide results.
void SearchComplete(HistoryService::Handle request_handle,
history::QueryResults* results);
@@ -108,15 +118,25 @@ class SearchHistoryFunction : public HistoryFunctionWithCallback {
class AddUrlHistoryFunction : public HistoryFunction {
public:
- virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("history.addUrl");
+
+ protected:
+ virtual ~AddUrlHistoryFunction() {}
+
+ // HistoryFunctionWithCallback:
+ virtual bool RunImpl() OVERRIDE;
};
class DeleteAllHistoryFunction : public HistoryFunctionWithCallback {
public:
- virtual bool RunAsyncImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("history.deleteAll");
+ protected:
+ virtual ~DeleteAllHistoryFunction() {}
+
+ // HistoryFunctionWithCallback:
+ virtual bool RunAsyncImpl() OVERRIDE;
+
// Callback for the history service to acknowledge deletion.
void DeleteComplete();
};
@@ -124,15 +144,25 @@ class DeleteAllHistoryFunction : public HistoryFunctionWithCallback {
class DeleteUrlHistoryFunction : public HistoryFunction {
public:
- virtual bool RunImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("history.deleteUrl");
+
+ protected:
+ virtual ~DeleteUrlHistoryFunction() {}
+
+ // HistoryFunctionWithCallback:
+ virtual bool RunImpl() OVERRIDE;
};
class DeleteRangeHistoryFunction : public HistoryFunctionWithCallback {
public:
- virtual bool RunAsyncImpl() OVERRIDE;
DECLARE_EXTENSION_FUNCTION_NAME("history.deleteRange");
+ protected:
+ virtual ~DeleteRangeHistoryFunction() {}
+
+ // HistoryFunctionWithCallback:
+ virtual bool RunAsyncImpl() OVERRIDE;
+
// Callback for the history service to acknowledge deletion.
void DeleteComplete();
};
diff --git a/chrome/browser/history/history_types.h b/chrome/browser/history/history_types.h
index 5cd4ce6..050e528 100644
--- a/chrome/browser/history/history_types.h
+++ b/chrome/browser/history/history_types.h
@@ -682,13 +682,13 @@ class MostVisitedThumbnails
: public base::RefCountedThreadSafe<MostVisitedThumbnails> {
public:
MostVisitedThumbnails();
- virtual ~MostVisitedThumbnails();
MostVisitedURLList most_visited;
URLToImagesMap url_to_images_map;
private:
friend class base::RefCountedThreadSafe<MostVisitedThumbnails>;
+ virtual ~MostVisitedThumbnails();
DISALLOW_COPY_AND_ASSIGN(MostVisitedThumbnails);
};
diff --git a/chrome/browser/history/in_memory_url_index.cc b/chrome/browser/history/in_memory_url_index.cc
index de92820..cfd0463 100644
--- a/chrome/browser/history/in_memory_url_index.cc
+++ b/chrome/browser/history/in_memory_url_index.cc
@@ -65,9 +65,6 @@ InMemoryURLIndex::RebuildPrivateDataFromHistoryDBTask::
succeeded_(false) {
}
-InMemoryURLIndex::RebuildPrivateDataFromHistoryDBTask::
- ~RebuildPrivateDataFromHistoryDBTask() {}
-
bool InMemoryURLIndex::RebuildPrivateDataFromHistoryDBTask::RunOnDBThread(
HistoryBackend* backend,
HistoryDatabase* db) {
@@ -84,6 +81,10 @@ void InMemoryURLIndex::RebuildPrivateDataFromHistoryDBTask::
index_->DoneRebuidingPrivateDataFromHistoryDB(succeeded_, data_);
}
+InMemoryURLIndex::RebuildPrivateDataFromHistoryDBTask::
+ ~RebuildPrivateDataFromHistoryDBTask() {
+}
+
// InMemoryURLIndex ------------------------------------------------------------
InMemoryURLIndex::InMemoryURLIndex(Profile* profile,
diff --git a/chrome/browser/history/in_memory_url_index.h b/chrome/browser/history/in_memory_url_index.h
index 7ee9abf..3ead284 100644
--- a/chrome/browser/history/in_memory_url_index.h
+++ b/chrome/browser/history/in_memory_url_index.h
@@ -164,13 +164,14 @@ class InMemoryURLIndex : public content::NotificationObserver,
InMemoryURLIndex* index,
const std::string& languages,
const std::set<std::string>& scheme_whitelist);
- virtual ~RebuildPrivateDataFromHistoryDBTask();
virtual bool RunOnDBThread(HistoryBackend* backend,
history::HistoryDatabase* db) OVERRIDE;
virtual void DoneRunOnMainThread() OVERRIDE;
private:
+ virtual ~RebuildPrivateDataFromHistoryDBTask();
+
InMemoryURLIndex* index_; // Call back to this index at completion.
std::string languages_; // Languages for word-breaking.
std::set<std::string> scheme_whitelist_; // Schemes to be indexed.
diff --git a/chrome/browser/history/shortcuts_backend.cc b/chrome/browser/history/shortcuts_backend.cc
index dfa6982..ea9b90b 100644
--- a/chrome/browser/history/shortcuts_backend.cc
+++ b/chrome/browser/history/shortcuts_backend.cc
@@ -95,8 +95,6 @@ ShortcutsBackend::ShortcutsBackend(const FilePath& db_folder_path,
}
}
-ShortcutsBackend::~ShortcutsBackend() {}
-
bool ShortcutsBackend::Init() {
if (current_state_ != NOT_INITIALIZED)
return false;
@@ -190,6 +188,8 @@ bool ShortcutsBackend::DeleteAllShortcuts() {
db_.get()));
}
+ShortcutsBackend::~ShortcutsBackend() {}
+
void ShortcutsBackend::InitInternal() {
DCHECK(current_state_ == INITIALIZING);
db_->Init();
diff --git a/chrome/browser/history/shortcuts_backend.h b/chrome/browser/history/shortcuts_backend.h
index 66892c7..d36ff37 100644
--- a/chrome/browser/history/shortcuts_backend.h
+++ b/chrome/browser/history/shortcuts_backend.h
@@ -73,7 +73,6 @@ class ShortcutsBackend : public base::RefCountedThreadSafe<ShortcutsBackend>,
// unit-tests. |db_folder_path| could be an empty path only in unit-tests as
// well. It means there is no database created, all things are done in memory.
ShortcutsBackend(const FilePath& db_folder_path, Profile* profile);
- virtual ~ShortcutsBackend();
// The interface is guaranteed to be called on the thread AddObserver()
// was called.
@@ -83,6 +82,7 @@ class ShortcutsBackend : public base::RefCountedThreadSafe<ShortcutsBackend>,
virtual void OnShortcutsLoaded() = 0;
// Called when shortcuts changed (added/updated/removed) in the database.
virtual void OnShortcutsChanged() {}
+
protected:
virtual ~ShortcutsBackendObserver() {}
};
@@ -123,9 +123,13 @@ class ShortcutsBackend : public base::RefCountedThreadSafe<ShortcutsBackend>,
}
private:
+ friend class base::RefCountedThreadSafe<ShortcutsBackend>;
+
typedef std::map<std::string, ShortcutMap::iterator>
GuidToShortcutsIteratorMap;
+ virtual ~ShortcutsBackend();
+
// Internal initialization of the back-end. Posted by Init() to the DB thread.
// On completion posts InitCompleted() back to UI thread.
void InitInternal();
diff --git a/chrome/browser/history/shortcuts_database.cc b/chrome/browser/history/shortcuts_database.cc
index 035d82b..dc1da07 100644
--- a/chrome/browser/history/shortcuts_database.cc
+++ b/chrome/browser/history/shortcuts_database.cc
@@ -58,8 +58,6 @@ ShortcutsDatabase::ShortcutsDatabase(const FilePath& folder_path)
: database_path_(folder_path.Append(FilePath(kShortcutsDatabaseName))) {
}
-ShortcutsDatabase::~ShortcutsDatabase() {}
-
bool ShortcutsDatabase::Init() {
// Set the database page size to something a little larger to give us
// better performance (we're typically seek rather than bandwidth limited).
@@ -158,6 +156,8 @@ bool ShortcutsDatabase::LoadShortcuts(GuidToShortcutMap* shortcuts) {
return true;
}
+ShortcutsDatabase::~ShortcutsDatabase() {}
+
bool ShortcutsDatabase::EnsureTable() {
if (!db_.DoesTableExist(kShortcutsDBName)) {
if (!db_.Execute(base::StringPrintf(
diff --git a/chrome/browser/history/shortcuts_database.h b/chrome/browser/history/shortcuts_database.h
index 2d73d22..11d4caa 100644
--- a/chrome/browser/history/shortcuts_database.h
+++ b/chrome/browser/history/shortcuts_database.h
@@ -43,7 +43,6 @@ class ShortcutsDatabase : public base::RefCountedThreadSafe<ShortcutsDatabase> {
typedef std::map<std::string, ShortcutsBackend::Shortcut> GuidToShortcutMap;
explicit ShortcutsDatabase(const FilePath& folder_path);
- virtual ~ShortcutsDatabase();
bool Init();
@@ -66,6 +65,10 @@ class ShortcutsDatabase : public base::RefCountedThreadSafe<ShortcutsDatabase> {
bool LoadShortcuts(GuidToShortcutMap* shortcuts);
private:
+ friend class base::RefCountedThreadSafe<ShortcutsDatabase>;
+
+ virtual ~ShortcutsDatabase();
+
// Ensures that the table is present.
bool EnsureTable();
diff --git a/chrome/browser/history/top_sites.cc b/chrome/browser/history/top_sites.cc
index 8d1e59ac..0648415 100644
--- a/chrome/browser/history/top_sites.cc
+++ b/chrome/browser/history/top_sites.cc
@@ -115,6 +115,8 @@ class LoadThumbnailsFromHistoryTask : public HistoryDBTask {
}
private:
+ virtual ~LoadThumbnailsFromHistoryTask() {}
+
bool ShouldFetchThumbnailFor(const GURL& url) {
return ignore_urls_.find(url.spec()) == ignore_urls_.end();
}
diff --git a/chrome/browser/history/top_sites_extension_api.cc b/chrome/browser/history/top_sites_extension_api.cc
index 33ca87a..89b7238 100644
--- a/chrome/browser/history/top_sites_extension_api.cc
+++ b/chrome/browser/history/top_sites_extension_api.cc
@@ -10,11 +10,9 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/ntp/new_tab_ui.h"
-GetTopSitesFunction::GetTopSitesFunction() {
-}
+GetTopSitesFunction::GetTopSitesFunction() {}
-GetTopSitesFunction::~GetTopSitesFunction() {
-}
+GetTopSitesFunction::~GetTopSitesFunction() {}
bool GetTopSitesFunction::RunImpl() {
history::TopSites* ts = profile()->GetTopSites();
diff --git a/chrome/browser/history/top_sites_extension_api.h b/chrome/browser/history/top_sites_extension_api.h
index b07a97d..ca12b5d 100644
--- a/chrome/browser/history/top_sites_extension_api.h
+++ b/chrome/browser/history/top_sites_extension_api.h
@@ -12,10 +12,15 @@
class GetTopSitesFunction : public AsyncExtensionFunction {
public:
+ DECLARE_EXTENSION_FUNCTION_NAME("topSites.get")
+
GetTopSitesFunction();
+
+ protected:
virtual ~GetTopSitesFunction();
+
+ // ExtensionFunction:
virtual bool RunImpl() OVERRIDE;
- DECLARE_EXTENSION_FUNCTION_NAME("topSites.get")
private:
void OnMostVisitedURLsAvailable(
diff --git a/chrome/browser/history/top_sites_unittest.cc b/chrome/browser/history/top_sites_unittest.cc
index 36d49d6..016a556 100644
--- a/chrome/browser/history/top_sites_unittest.cc
+++ b/chrome/browser/history/top_sites_unittest.cc
@@ -58,6 +58,8 @@ class WaitForHistoryTask : public HistoryDBTask {
}
private:
+ virtual ~WaitForHistoryTask() {}
+
DISALLOW_COPY_AND_ASSIGN(WaitForHistoryTask);
};
diff --git a/chrome/browser/net/crl_set_fetcher.cc b/chrome/browser/net/crl_set_fetcher.cc
index 2ecac53..6630285 100644
--- a/chrome/browser/net/crl_set_fetcher.cc
+++ b/chrome/browser/net/crl_set_fetcher.cc
@@ -20,11 +20,7 @@
using content::BrowserThread;
-CRLSetFetcher::CRLSetFetcher() : cus_(NULL) {
-}
-
-CRLSetFetcher::~CRLSetFetcher() {
-}
+CRLSetFetcher::CRLSetFetcher() : cus_(NULL) {}
bool CRLSetFetcher::GetCRLSetFilePath(FilePath* path) const {
bool ok = PathService::Get(chrome::DIR_USER_DATA, path);
@@ -207,3 +203,5 @@ bool CRLSetFetcher::Install(base::DictionaryValue* manifest,
return true;
}
+
+CRLSetFetcher::~CRLSetFetcher() {}
diff --git a/chrome/browser/net/crl_set_fetcher.h b/chrome/browser/net/crl_set_fetcher.h
index b6958637..ee506bc 100644
--- a/chrome/browser/net/crl_set_fetcher.h
+++ b/chrome/browser/net/crl_set_fetcher.h
@@ -29,7 +29,6 @@ class CRLSetFetcher : public ComponentInstaller,
public base::RefCountedThreadSafe<CRLSetFetcher> {
public:
CRLSetFetcher();
- virtual ~CRLSetFetcher();
void StartInitialLoad(ComponentUpdateService* cus);
@@ -39,6 +38,10 @@ class CRLSetFetcher : public ComponentInstaller,
const FilePath& unpack_path) OVERRIDE;
private:
+ friend class base::RefCountedThreadSafe<CRLSetFetcher>;
+
+ virtual ~CRLSetFetcher();
+
// GetCRLSetFilePath gets the path of the CRL set file in the user data
// dir.
bool GetCRLSetFilePath(FilePath* path) const;
diff --git a/chrome/browser/net/sqlite_persistent_cookie_store.cc b/chrome/browser/net/sqlite_persistent_cookie_store.cc
index 04c2d4f..009c595 100644
--- a/chrome/browser/net/sqlite_persistent_cookie_store.cc
+++ b/chrome/browser/net/sqlite_persistent_cookie_store.cc
@@ -925,15 +925,6 @@ SQLitePersistentCookieStore::SQLitePersistentCookieStore(
: backend_(new Backend(path, restore_old_session_cookies)) {
}
-SQLitePersistentCookieStore::~SQLitePersistentCookieStore() {
- if (backend_.get()) {
- backend_->Close();
- // Release our reference, it will probably still have a reference if the
- // background thread has not run Close() yet.
- backend_ = NULL;
- }
-}
-
void SQLitePersistentCookieStore::Load(const LoadedCallback& loaded_callback) {
backend_->Load(loaded_callback);
}
@@ -974,3 +965,12 @@ void SQLitePersistentCookieStore::Flush(const base::Closure& callback) {
else if (!callback.is_null())
MessageLoop::current()->PostTask(FROM_HERE, callback);
}
+
+SQLitePersistentCookieStore::~SQLitePersistentCookieStore() {
+ if (backend_.get()) {
+ backend_->Close();
+ // Release our reference, it will probably still have a reference if the
+ // background thread has not run Close() yet.
+ backend_ = NULL;
+ }
+}
diff --git a/chrome/browser/net/sqlite_persistent_cookie_store.h b/chrome/browser/net/sqlite_persistent_cookie_store.h
index 08ee08e..7d7cf95 100644
--- a/chrome/browser/net/sqlite_persistent_cookie_store.h
+++ b/chrome/browser/net/sqlite_persistent_cookie_store.h
@@ -27,26 +27,23 @@ class SQLitePersistentCookieStore
public:
SQLitePersistentCookieStore(const FilePath& path,
bool restore_old_session_cookies);
- virtual ~SQLitePersistentCookieStore();
+ // net::CookieMonster::PersistentCookieStore:
virtual void Load(const LoadedCallback& loaded_callback) OVERRIDE;
-
virtual void LoadCookiesForKey(const std::string& key,
const LoadedCallback& callback) OVERRIDE;
-
virtual void AddCookie(
const net::CookieMonster::CanonicalCookie& cc) OVERRIDE;
-
virtual void UpdateCookieAccessTime(
const net::CookieMonster::CanonicalCookie& cc) OVERRIDE;
-
virtual void DeleteCookie(
const net::CookieMonster::CanonicalCookie& cc) OVERRIDE;
-
virtual void SetClearLocalStateOnExit(bool clear_local_state) OVERRIDE;
-
virtual void Flush(const base::Closure& callback) OVERRIDE;
+ protected:
+ virtual ~SQLitePersistentCookieStore();
+
private:
class Backend;
diff --git a/chrome/browser/net/sqlite_persistent_cookie_store_unittest.cc b/chrome/browser/net/sqlite_persistent_cookie_store_unittest.cc
index 8c5541d..11d1cfe 100644
--- a/chrome/browser/net/sqlite_persistent_cookie_store_unittest.cc
+++ b/chrome/browser/net/sqlite_persistent_cookie_store_unittest.cc
@@ -316,6 +316,8 @@ class CallbackCounter : public base::RefCountedThreadSafe<CallbackCounter> {
private:
friend class base::RefCountedThreadSafe<CallbackCounter>;
+ ~CallbackCounter() {}
+
volatile int callback_count_;
};
diff --git a/chrome/browser/net/sqlite_server_bound_cert_store.cc b/chrome/browser/net/sqlite_server_bound_cert_store.cc
index e4a35e9..c653eb0 100644
--- a/chrome/browser/net/sqlite_server_bound_cert_store.cc
+++ b/chrome/browser/net/sqlite_server_bound_cert_store.cc
@@ -479,15 +479,6 @@ SQLiteServerBoundCertStore::SQLiteServerBoundCertStore(const FilePath& path)
: backend_(new Backend(path)) {
}
-SQLiteServerBoundCertStore::~SQLiteServerBoundCertStore() {
- if (backend_.get()) {
- backend_->Close();
- // Release our reference, it will probably still have a reference if the
- // background thread has not run Close() yet.
- backend_ = NULL;
- }
-}
-
bool SQLiteServerBoundCertStore::Load(
std::vector<net::DefaultServerBoundCertStore::ServerBoundCert*>* certs) {
return backend_->Load(certs);
@@ -517,3 +508,12 @@ void SQLiteServerBoundCertStore::Flush(const base::Closure& completion_task) {
else if (!completion_task.is_null())
MessageLoop::current()->PostTask(FROM_HERE, completion_task);
}
+
+SQLiteServerBoundCertStore::~SQLiteServerBoundCertStore() {
+ if (backend_.get()) {
+ backend_->Close();
+ // Release our reference, it will probably still have a reference if the
+ // background thread has not run Close() yet.
+ backend_ = NULL;
+ }
+}
diff --git a/chrome/browser/net/sqlite_server_bound_cert_store.h b/chrome/browser/net/sqlite_server_bound_cert_store.h
index da363a0..6647eee 100644
--- a/chrome/browser/net/sqlite_server_bound_cert_store.h
+++ b/chrome/browser/net/sqlite_server_bound_cert_store.h
@@ -21,9 +21,8 @@ class SQLiteServerBoundCertStore
: public net::DefaultServerBoundCertStore::PersistentStore {
public:
explicit SQLiteServerBoundCertStore(const FilePath& path);
- virtual ~SQLiteServerBoundCertStore();
- // net::DefaultServerBoundCertStore::PersistentStore implementation.
+ // net::DefaultServerBoundCertStore::PersistentStore:
virtual bool Load(
std::vector<net::DefaultServerBoundCertStore::ServerBoundCert*>* certs)
OVERRIDE;
@@ -34,6 +33,9 @@ class SQLiteServerBoundCertStore
virtual void SetClearLocalStateOnExit(bool clear_local_state) OVERRIDE;
virtual void Flush(const base::Closure& completion_task) OVERRIDE;
+ protected:
+ virtual ~SQLiteServerBoundCertStore();
+
private:
class Backend;
diff --git a/chrome/browser/net/sqlite_server_bound_cert_store_unittest.cc b/chrome/browser/net/sqlite_server_bound_cert_store_unittest.cc
index 1fd2a87..b119252 100644
--- a/chrome/browser/net/sqlite_server_bound_cert_store_unittest.cc
+++ b/chrome/browser/net/sqlite_server_bound_cert_store_unittest.cc
@@ -489,6 +489,8 @@ class CallbackCounter : public base::RefCountedThreadSafe<CallbackCounter> {
private:
friend class base::RefCountedThreadSafe<CallbackCounter>;
+ ~CallbackCounter() {}
+
volatile int callback_count_;
};
diff --git a/chrome/browser/net/ssl_config_service_manager_pref.cc b/chrome/browser/net/ssl_config_service_manager_pref.cc
index 7386d49..1bf7cdb 100644
--- a/chrome/browser/net/ssl_config_service_manager_pref.cc
+++ b/chrome/browser/net/ssl_config_service_manager_pref.cc
@@ -72,7 +72,6 @@ std::vector<uint16> ParseCipherSuites(
class SSLConfigServicePref : public net::SSLConfigService {
public:
SSLConfigServicePref() {}
- virtual ~SSLConfigServicePref() {}
// Store SSL config settings in |config|. Must only be called from IO thread.
virtual void GetSSLConfig(net::SSLConfig* config);
@@ -81,6 +80,8 @@ class SSLConfigServicePref : public net::SSLConfigService {
// Allow the pref watcher to update our internal state.
friend class SSLConfigServiceManagerPref;
+ virtual ~SSLConfigServicePref() {}
+
// This method is posted to the IO thread from the browser thread to carry the
// new config information.
void SetNewSSLConfig(const net::SSLConfig& new_config);