Index: chrome/browser/prefs/pref_service_syncable.h |
diff --git a/chrome/browser/prefs/pref_service_syncable.h b/chrome/browser/prefs/pref_service_syncable.h |
index f94a3028bad1c9fef6cf465a0c57ee26ea712b57..a36b75096079a3b7eb73673c0a4b71140cbb0ce9 100644 |
--- a/chrome/browser/prefs/pref_service_syncable.h |
+++ b/chrome/browser/prefs/pref_service_syncable.h |
@@ -5,11 +5,14 @@ |
#ifndef CHROME_BROWSER_PREFS_PREF_SERVICE_SYNCABLE_H_ |
#define CHROME_BROWSER_PREFS_PREF_SERVICE_SYNCABLE_H_ |
+#include "base/callback_forward.h" |
#include "base/prefs/pref_service.h" |
#include "chrome/browser/prefs/pref_model_associator.h" |
#include "chrome/browser/prefs/synced_pref_observer.h" |
#include "components/pref_registry/pref_registry_syncable.h" |
+class OverlayUserPrefStore; |
+class PrefModelAssociatorClient; |
gab
2015/09/11 12:58:32
This fwd-decl doesn't belong in this CL yet.
sdefresne
2015/09/14 13:17:26
Ack.
|
class PrefServiceSyncableObserver; |
namespace syncer { |
@@ -23,22 +26,25 @@ class PrefServiceSyncable : public PrefService { |
public: |
// You may wish to use PrefServiceFactory or one of its subclasses |
// for simplified construction. |
- PrefServiceSyncable( |
- PrefNotifierImpl* pref_notifier, |
- PrefValueStore* pref_value_store, |
- PersistentPrefStore* user_prefs, |
- user_prefs::PrefRegistrySyncable* pref_registry, |
- base::Callback<void(PersistentPrefStore::PrefReadError)> |
- read_error_callback, |
- bool async); |
+ PrefServiceSyncable(PrefNotifierImpl* pref_notifier, |
+ PrefValueStore* pref_value_store, |
+ PersistentPrefStore* user_prefs, |
+ user_prefs::PrefRegistrySyncable* pref_registry, |
+ base::Callback<void(PersistentPrefStore::PrefReadError)> |
+ read_error_callback, |
+ bool async); |
~PrefServiceSyncable() override; |
// Creates an incognito copy of the pref service that shares most pref stores |
// but uses a fresh non-persistent overlay for the user pref store and an |
// individual extension pref store (to cache the effective extension prefs for |
- // incognito windows). |
+ // incognito windows). |incognito_pref_created_cb| will be invoked with the |
+ // new incognito pref store before the pref registry is created in case some |
+ // of the preference need to be overriden in incognito (may be null). |
PrefServiceSyncable* CreateIncognitoPrefService( |
- PrefStore* incognito_extension_prefs); |
+ PrefStore* incognito_extension_prefs, |
+ const base::Callback<void(OverlayUserPrefStore*)>& |
+ incognito_pref_created_cb); |
// Returns true if preferences state has synchronized with the remote |
// preferences. If true is returned it can be assumed the local preferences |