diff options
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r-- | chrome/browser/extensions/crx_installer.cc | 11 | ||||
-rw-r--r-- | chrome/browser/extensions/extension_omnibox_api.cc | 7 | ||||
-rw-r--r-- | chrome/browser/extensions/extension_test_api.cc | 11 | ||||
-rw-r--r-- | chrome/browser/extensions/extension_test_api.h | 5 |
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; } |