summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r--chrome/browser/extensions/crx_installer.cc11
-rw-r--r--chrome/browser/extensions/extension_omnibox_api.cc7
-rw-r--r--chrome/browser/extensions/extension_test_api.cc11
-rw-r--r--chrome/browser/extensions/extension_test_api.h5
4 files changed, 25 insertions, 9 deletions
diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc
index 294bdcb..6d937a6 100644
--- a/chrome/browser/extensions/crx_installer.cc
+++ b/chrome/browser/extensions/crx_installer.cc
@@ -9,9 +9,9 @@
#include "app/l10n_util.h"
#include "app/resource_bundle.h"
#include "base/file_util.h"
+#include "base/lazy_instance.h"
#include "base/path_service.h"
#include "base/scoped_temp_dir.h"
-#include "base/singleton.h"
#include "base/stl_util-inl.h"
#include "base/stringprintf.h"
#include "base/time.h"
@@ -51,25 +51,28 @@ struct WhitelistedInstallData {
std::set<std::string> ids;
};
+static base::LazyInstance<WhitelistedInstallData>
+ g_whitelisted_install_data(base::LINKER_INITIALIZED);
+
} // namespace
// static
void CrxInstaller::SetWhitelistedInstallId(const std::string& id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- Singleton<WhitelistedInstallData>::get()->ids.insert(id);
+ g_whitelisted_install_data.Get().ids.insert(id);
}
// static
bool CrxInstaller::IsIdWhitelisted(const std::string& id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- std::set<std::string>& ids = Singleton<WhitelistedInstallData>::get()->ids;
+ std::set<std::string>& ids = g_whitelisted_install_data.Get().ids;
return ContainsKey(ids, id);
}
// static
bool CrxInstaller::ClearWhitelistedInstallId(const std::string& id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- std::set<std::string>& ids = Singleton<WhitelistedInstallData>::get()->ids;
+ std::set<std::string>& ids = g_whitelisted_install_data.Get().ids;
if (ContainsKey(ids, id)) {
ids.erase(id);
return true;
diff --git a/chrome/browser/extensions/extension_omnibox_api.cc b/chrome/browser/extensions/extension_omnibox_api.cc
index 8492788..760e459 100644
--- a/chrome/browser/extensions/extension_omnibox_api.cc
+++ b/chrome/browser/extensions/extension_omnibox_api.cc
@@ -5,7 +5,7 @@
#include "chrome/browser/extensions/extension_omnibox_api.h"
#include "base/json/json_writer.h"
-#include "base/singleton.h"
+#include "base/lazy_instance.h"
#include "base/string_util.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
@@ -36,8 +36,11 @@ const char kDescriptionStylesType[] = "type";
const char kDescriptionStylesOffset[] = "offset";
const char kDescriptionStylesLength[] = "length";
+static base::LazyInstance<PropertyAccessor<ExtensionOmniboxSuggestion> >
+ g_extension_omnibox_suggestion_property_accessor(base::LINKER_INITIALIZED);
+
PropertyAccessor<ExtensionOmniboxSuggestion>& GetPropertyAccessor() {
- return *Singleton< PropertyAccessor<ExtensionOmniboxSuggestion> >::get();
+ return g_extension_omnibox_suggestion_property_accessor.Get();
}
// Returns the suggestion object set by the extension via the
diff --git a/chrome/browser/extensions/extension_test_api.cc b/chrome/browser/extensions/extension_test_api.cc
index 7afd5eb..104e51b 100644
--- a/chrome/browser/extensions/extension_test_api.cc
+++ b/chrome/browser/extensions/extension_test_api.cc
@@ -6,6 +6,7 @@
#include <string>
+#include "base/singleton.h"
#include "chrome/browser/extensions/extensions_service.h"
#include "chrome/browser/extensions/extensions_quota_service.h"
#include "chrome/browser/profiles/profile.h"
@@ -93,17 +94,23 @@ void ExtensionTestSendMessageFunction::Reply(const std::string& message) {
// static
void ExtensionTestGetConfigFunction::set_test_config_state(
DictionaryValue* value) {
- TestConfigState* test_config_state = Singleton<TestConfigState>::get();
+ TestConfigState* test_config_state = TestConfigState::GetInstance();
test_config_state->set_config_state(value);
}
ExtensionTestGetConfigFunction::TestConfigState::TestConfigState()
: config_state_(NULL) {}
+// static
+ExtensionTestGetConfigFunction::TestConfigState*
+ExtensionTestGetConfigFunction::TestConfigState::GetInstance() {
+ return Singleton<TestConfigState>::get();
+}
+
ExtensionTestGetConfigFunction::~ExtensionTestGetConfigFunction() {}
bool ExtensionTestGetConfigFunction::RunImpl() {
- TestConfigState* test_config_state = Singleton<TestConfigState>::get();
+ TestConfigState* test_config_state = TestConfigState::GetInstance();
if (!test_config_state->config_state()) {
error_ = kNoTestConfigDataError;
diff --git a/chrome/browser/extensions/extension_test_api.h b/chrome/browser/extensions/extension_test_api.h
index 27b55dc..1a0baa0 100644
--- a/chrome/browser/extensions/extension_test_api.h
+++ b/chrome/browser/extensions/extension_test_api.h
@@ -6,10 +6,11 @@
#define CHROME_BROWSER_EXTENSIONS_EXTENSION_TEST_API_H_
#pragma once
-#include "base/singleton.h"
#include "base/values.h"
#include "chrome/browser/extensions/extension_function.h"
+template <typename T> struct DefaultSingletonTraits;
+
class ExtensionTestPassFunction : public SyncExtensionFunction {
~ExtensionTestPassFunction();
virtual bool RunImpl();
@@ -65,6 +66,8 @@ class ExtensionTestGetConfigFunction : public SyncExtensionFunction {
// state, owned by the test code.
class TestConfigState {
public:
+ static TestConfigState* GetInstance();
+
void set_config_state(DictionaryValue* config_state) {
config_state_ = config_state;
}