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

Side by Side Diff: chrome/browser/prefs/pref_service_syncable.h

Issue 1326353002: Remove dependency of PrefSyncableService on Profile. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pref_model_associator
Patch Set: Fixing ChromeOS and Linux compilation Created 5 years, 3 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_PREFS_PREF_SERVICE_SYNCABLE_H_ 5 #ifndef CHROME_BROWSER_PREFS_PREF_SERVICE_SYNCABLE_H_
6 #define CHROME_BROWSER_PREFS_PREF_SERVICE_SYNCABLE_H_ 6 #define CHROME_BROWSER_PREFS_PREF_SERVICE_SYNCABLE_H_
7 7
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "chrome/browser/prefs/pref_model_associator.h" 9 #include "chrome/browser/prefs/pref_model_associator.h"
10 #include "chrome/browser/prefs/synced_pref_observer.h" 10 #include "chrome/browser/prefs/synced_pref_observer.h"
11 #include "components/pref_registry/pref_registry_syncable.h" 11 #include "components/pref_registry/pref_registry_syncable.h"
12 12
13 class PrefServiceSyncableObserver; 13 class PrefServiceSyncableObserver;
14 class Profile;
15 14
16 namespace syncer { 15 namespace syncer {
17 class SyncableService; 16 class SyncableService;
18 } 17 }
19 18
20 // A PrefService that can be synced. Users are forced to declare 19 // A PrefService that can be synced. Users are forced to declare
21 // whether preferences are syncable or not when registering them to 20 // whether preferences are syncable or not when registering them to
22 // this PrefService. 21 // this PrefService.
23 class PrefServiceSyncable : public PrefService { 22 class PrefServiceSyncable : public PrefService {
24 public: 23 public:
25 // PrefServiceSyncable is a PrefService with added integration for
26 // sync, and knowledge of how to create an incognito
27 // PrefService. For code that does not need to know about the sync
28 // integration, you should use only the plain PrefService type.
29 //
30 // For this reason, Profile does not expose an accessor for the
31 // PrefServiceSyncable type. Instead, you can use the utilities
32 // below to retrieve the PrefServiceSyncable (or its incognito
33 // version) from a Profile.
34 static PrefServiceSyncable* FromProfile(Profile* profile);
35 static PrefServiceSyncable* IncognitoFromProfile(Profile* profile);
36
37 // You may wish to use PrefServiceFactory or one of its subclasses 24 // You may wish to use PrefServiceFactory or one of its subclasses
38 // for simplified construction. 25 // for simplified construction.
39 PrefServiceSyncable( 26 PrefServiceSyncable(
40 PrefNotifierImpl* pref_notifier, 27 PrefNotifierImpl* pref_notifier,
41 PrefValueStore* pref_value_store, 28 PrefValueStore* pref_value_store,
42 PersistentPrefStore* user_prefs, 29 PersistentPrefStore* user_prefs,
43 user_prefs::PrefRegistrySyncable* pref_registry, 30 user_prefs::PrefRegistrySyncable* pref_registry,
44 base::Callback<void(PersistentPrefStore::PrefReadError)> 31 base::Callback<void(PersistentPrefStore::PrefReadError)>
45 read_error_callback, 32 read_error_callback,
46 bool async); 33 bool async);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 91
105 PrefModelAssociator pref_sync_associator_; 92 PrefModelAssociator pref_sync_associator_;
106 PrefModelAssociator priority_pref_sync_associator_; 93 PrefModelAssociator priority_pref_sync_associator_;
107 94
108 base::ObserverList<PrefServiceSyncableObserver> observer_list_; 95 base::ObserverList<PrefServiceSyncableObserver> observer_list_;
109 96
110 DISALLOW_COPY_AND_ASSIGN(PrefServiceSyncable); 97 DISALLOW_COPY_AND_ASSIGN(PrefServiceSyncable);
111 }; 98 };
112 99
113 #endif // CHROME_BROWSER_PREFS_PREF_SERVICE_SYNCABLE_H_ 100 #endif // CHROME_BROWSER_PREFS_PREF_SERVICE_SYNCABLE_H_
OLDNEW
« no previous file with comments | « chrome/browser/prefs/pref_metrics_service.cc ('k') | chrome/browser/prefs/pref_service_syncable.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698