automatic_profile_resetter_factory.cc revision 1e9bf3e0803691d0a228da41fc608347b6db4340
1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/profile_resetter/automatic_profile_resetter_factory.h" 6 7#include "base/memory/singleton.h" 8#include "base/prefs/pref_registry_simple.h" 9#include "chrome/browser/extensions/extension_system_factory.h" 10#include "chrome/browser/google/google_url_tracker_factory.h" 11#include "chrome/browser/profile_resetter/automatic_profile_resetter.h" 12#include "chrome/browser/profiles/profile.h" 13#include "chrome/browser/search_engines/template_url_service_factory.h" 14#include "chrome/browser/sync/profile_sync_service_factory.h" 15#include "chrome/browser/ui/global_error/global_error_service_factory.h" 16#include "chrome/common/pref_names.h" 17#include "components/browser_context_keyed_service/browser_context_dependency_manager.h" 18#include "components/user_prefs/pref_registry_syncable.h" 19#include "content/public/browser/browser_context.h" 20 21// static 22AutomaticProfileResetter* AutomaticProfileResetterFactory::GetForBrowserContext( 23 content::BrowserContext* context) { 24 return static_cast<AutomaticProfileResetter*>( 25 GetInstance()->GetServiceForBrowserContext(context, true)); 26} 27 28// static 29AutomaticProfileResetterFactory* 30AutomaticProfileResetterFactory::GetInstance() { 31 return Singleton<AutomaticProfileResetterFactory>::get(); 32} 33 34// static 35void AutomaticProfileResetterFactory::RegisterPrefs( 36 PrefRegistrySimple* registry) { 37 registry->RegisterDictionaryPref(prefs::kProfileResetPromptMemento); 38} 39 40AutomaticProfileResetterFactory::AutomaticProfileResetterFactory() 41 : BrowserContextKeyedServiceFactory( 42 "AutomaticProfileResetter", 43 BrowserContextDependencyManager::GetInstance()) { 44 DependsOn(TemplateURLServiceFactory::GetInstance()); 45} 46 47AutomaticProfileResetterFactory::~AutomaticProfileResetterFactory() {} 48 49BrowserContextKeyedService* 50AutomaticProfileResetterFactory::BuildServiceInstanceFor( 51 content::BrowserContext* context) const { 52 Profile* profile = Profile::FromBrowserContext(context); 53 AutomaticProfileResetter* service = new AutomaticProfileResetter(profile); 54 service->Activate(); 55 return service; 56} 57 58void AutomaticProfileResetterFactory::RegisterProfilePrefs( 59 user_prefs::PrefRegistrySyncable* registry) { 60 registry->RegisterStringPref( 61 prefs::kProfileResetPromptMemento, 62 "", 63 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 64} 65 66bool AutomaticProfileResetterFactory:: 67 ServiceIsCreatedWithBrowserContext() const { 68 return true; 69} 70 71bool AutomaticProfileResetterFactory::ServiceIsNULLWhileTesting() const { 72 return true; 73} 74