1 // Copyright 2015 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/triggered_profile_resetter_factory.h" 6 7 #include "base/memory/singleton.h" 8 #include "build/build_config.h" 9 #include "chrome/browser/profile_resetter/triggered_profile_resetter.h" 10 #include "chrome/browser/profiles/profile.h" 11 #include "chrome/common/pref_names.h" 12 #include "components/keyed_service/content/browser_context_dependency_manager.h" 13 #include "components/pref_registry/pref_registry_syncable.h" 14 #include "content/public/browser/browser_context.h" 15 16 // static GetForBrowserContext(content::BrowserContext * context)17TriggeredProfileResetter* TriggeredProfileResetterFactory::GetForBrowserContext( 18 content::BrowserContext* context) { 19 return static_cast<TriggeredProfileResetter*>( 20 GetInstance()->GetServiceForBrowserContext(context, true)); 21 } 22 23 // static 24 TriggeredProfileResetterFactory* GetInstance()25TriggeredProfileResetterFactory::GetInstance() { 26 return base::Singleton<TriggeredProfileResetterFactory>::get(); 27 } 28 TriggeredProfileResetterFactory()29TriggeredProfileResetterFactory::TriggeredProfileResetterFactory() 30 : BrowserContextKeyedServiceFactory( 31 "TriggeredProfileResetter", 32 BrowserContextDependencyManager::GetInstance()) {} 33 ~TriggeredProfileResetterFactory()34TriggeredProfileResetterFactory::~TriggeredProfileResetterFactory() {} 35 BuildServiceInstanceFor(content::BrowserContext * context) const36KeyedService* TriggeredProfileResetterFactory::BuildServiceInstanceFor( 37 content::BrowserContext* context) const { 38 Profile* profile = Profile::FromBrowserContext(context); 39 40 TriggeredProfileResetter* service = new TriggeredProfileResetter(profile); 41 service->Activate(); 42 return service; 43 } 44 RegisterProfilePrefs(user_prefs::PrefRegistrySyncable * registry)45void TriggeredProfileResetterFactory::RegisterProfilePrefs( 46 user_prefs::PrefRegistrySyncable* registry) { 47 #if defined(OS_WIN) 48 registry->RegisterInt64Pref(prefs::kLastProfileResetTimestamp, 0L); 49 #endif 50 } 51 ServiceIsCreatedWithBrowserContext() const52bool TriggeredProfileResetterFactory::ServiceIsCreatedWithBrowserContext() 53 const { 54 return true; 55 } 56