diff --git spellcheck_factory.cc spellcheck_factory.cc index 87b5b9e..8e6dfff 100644 --- spellcheck_factory.cc +++ spellcheck_factory.cc @@ -16,6 +16,13 @@ #include "content/public/browser/render_process_host.h" #include "ui/base/l10n/l10n_util.h" +namespace { + +static base::LazyInstance::Leaky + g_spellcheck_service_factory = LAZY_INSTANCE_INITIALIZER; + +} // namespace + // static SpellcheckService* SpellcheckServiceFactory::GetForContext( content::BrowserContext* context) { @@ -38,7 +45,7 @@ SpellcheckService* SpellcheckServiceFactory::GetForRenderProcessId( // static SpellcheckServiceFactory* SpellcheckServiceFactory::GetInstance() { - return base::Singleton::get(); + return g_spellcheck_service_factory.Pointer(); } SpellcheckServiceFactory::SpellcheckServiceFactory() diff --git spellcheck_factory.h spellcheck_factory.h index 7cdf471..d52b881 100644 --- spellcheck_factory.h +++ spellcheck_factory.h @@ -7,7 +7,7 @@ #include "base/basictypes.h" #include "base/gtest_prod_util.h" -#include "base/memory/singleton.h" +#include "base/lazy_instance.h" #include "components/keyed_service/content/browser_context_keyed_service_factory.h" class SpellcheckService; @@ -26,7 +26,7 @@ class SpellcheckServiceFactory : public BrowserContextKeyedServiceFactory { static SpellcheckServiceFactory* GetInstance(); private: - friend struct base::DefaultSingletonTraits; + friend struct base::DefaultLazyInstanceTraits; SpellcheckServiceFactory(); ~SpellcheckServiceFactory() override;