Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(321)

Side by Side Diff: chrome/browser/profile_resetter/automatic_profile_resetter_factory.cc

Issue 24533002: Added the AutomaticProfileResetter service. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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_ma nager.h"
18 #include "components/user_prefs/pref_registry_syncable.h"
19 #include "content/public/browser/browser_context.h"
20
21 namespace profile_resetter {
22
23 // static
24 AutomaticProfileResetter* AutomaticProfileResetterFactory::GetForBrowserContext(
25 content::BrowserContext* context) {
26 return static_cast<AutomaticProfileResetter*>(
27 GetInstance()->GetServiceForBrowserContext(context, true));
28 }
29
30 // static
31 AutomaticProfileResetterFactory*
32 AutomaticProfileResetterFactory::GetInstance() {
33 return Singleton<AutomaticProfileResetterFactory>::get();
34 }
35
36 // static
37 void AutomaticProfileResetterFactory::RegisterPrefs(
38 PrefRegistrySimple* registry) {
39 registry->RegisterDictionaryPref(prefs::kProfileResetPromptMemento);
40 }
41
42 AutomaticProfileResetterFactory::AutomaticProfileResetterFactory()
43 : BrowserContextKeyedServiceFactory(
44 "AutomaticProfileResetter",
45 BrowserContextDependencyManager::GetInstance()) {
46 DependsOn(extensions::ExtensionSystemFactory::GetInstance());
47 DependsOn(ProfileSyncServiceFactory::GetInstance());
48 DependsOn(TemplateURLServiceFactory::GetInstance());
49 DependsOn(GlobalErrorServiceFactory::GetInstance());
50 }
51
52 AutomaticProfileResetterFactory::~AutomaticProfileResetterFactory() {}
53
54 BrowserContextKeyedService*
55 AutomaticProfileResetterFactory::BuildServiceInstanceFor(
56 content::BrowserContext* context) const {
57 Profile* profile = Profile::FromBrowserContext(context);
58 AutomaticProfileResetter* service = new AutomaticProfileResetter(profile);
59 service->Initialize();
60 return service;
61 }
62
63 void AutomaticProfileResetterFactory::RegisterProfilePrefs(
64 user_prefs::PrefRegistrySyncable* registry) {
65 registry->RegisterStringPref(
66 prefs::kProfileResetPromptMemento,
67 "",
68 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
69 }
70
71 bool AutomaticProfileResetterFactory::ServiceIsCreatedWithBrowserContext()
72 const {
73 return true;
74 }
75
76 } // namespace profile_resetter
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698