Chromium Code Reviews| Index: chrome/browser/prefs/pref_service_syncable.cc |
| diff --git a/chrome/browser/prefs/pref_service_syncable.cc b/chrome/browser/prefs/pref_service_syncable.cc |
| index c6cf8badf58bce2186da703230520d09dbe94503..71d781b08a3d0b74bd755782294aecad074c1fb3 100644 |
| --- a/chrome/browser/prefs/pref_service_syncable.cc |
| +++ b/chrome/browser/prefs/pref_service_syncable.cc |
| @@ -5,6 +5,7 @@ |
| #include "chrome/browser/prefs/pref_service_syncable.h" |
| #include "base/bind.h" |
| +#include "base/callback.h" |
| #include "base/files/file_path.h" |
| #include "base/prefs/default_pref_store.h" |
| #include "base/prefs/overlay_user_pref_store.h" |
| @@ -15,7 +16,6 @@ |
| #include "base/value_conversions.h" |
| #include "chrome/browser/prefs/pref_model_associator.h" |
| #include "chrome/browser/prefs/pref_service_syncable_observer.h" |
| -#include "chrome/browser/ui/prefs/prefs_tab_helper.h" |
| #include "components/pref_registry/pref_registry_syncable.h" |
| PrefServiceSyncable::PrefServiceSyncable( |
| @@ -38,9 +38,8 @@ PrefServiceSyncable::PrefServiceSyncable( |
| priority_pref_sync_associator_.SetPrefService(this); |
| // Let PrefModelAssociators know about changes to preference values. |
| - pref_value_store->set_callback( |
| - base::Bind(&PrefServiceSyncable::ProcessPrefChange, |
| - base::Unretained(this))); |
| + pref_value_store->set_callback(base::Bind( |
| + &PrefServiceSyncable::ProcessPrefChange, base::Unretained(this))); |
| // Add already-registered syncable preferences to PrefModelAssociator. |
| for (PrefRegistry::const_iterator it = pref_registry->begin(); |
| @@ -65,16 +64,19 @@ PrefServiceSyncable::~PrefServiceSyncable() { |
| } |
| PrefServiceSyncable* PrefServiceSyncable::CreateIncognitoPrefService( |
| - PrefStore* incognito_extension_prefs) { |
| + PrefStore* incognito_extension_prefs, |
| + const base::Callback<void(OverlayUserPrefStore*)>& |
| + incognito_pref_created_cb) { |
| pref_service_forked_ = true; |
| PrefNotifierImpl* pref_notifier = new PrefNotifierImpl(); |
| OverlayUserPrefStore* incognito_pref_store = |
| new OverlayUserPrefStore(user_pref_store_.get()); |
| - PrefsTabHelper::InitIncognitoUserPrefStore(incognito_pref_store); |
| + if (!incognito_pref_created_cb.is_null()) |
|
gab
2015/09/11 12:58:32
This wasn't previously optional. Enforce it by con
sdefresne
2015/09/14 13:17:26
This is commented out in the downstream iOS fork (
|
| + incognito_pref_created_cb.Run(incognito_pref_store); |
| scoped_refptr<user_prefs::PrefRegistrySyncable> forked_registry = |
| - static_cast<user_prefs::PrefRegistrySyncable*>( |
| - pref_registry_.get())->ForkForIncognito(); |
| + static_cast<user_prefs::PrefRegistrySyncable*>(pref_registry_.get()) |
| + ->ForkForIncognito(); |
|
gab
2015/09/11 12:58:32
Weird formatting... preferred old one: same number
sdefresne
2015/09/14 13:17:26
Reverted.
|
| PrefServiceSyncable* incognito_service = new PrefServiceSyncable( |
| pref_notifier, |
| pref_value_store_->CloneAndSpecialize(NULL, // managed |
| @@ -134,9 +136,8 @@ void PrefServiceSyncable::UpdateCommandLinePrefStore( |
| PrefService::UpdateCommandLinePrefStore(cmd_line_store); |
| } |
| -void PrefServiceSyncable::AddSyncedPrefObserver( |
| - const std::string& name, |
| - SyncedPrefObserver* observer) { |
| +void PrefServiceSyncable::AddSyncedPrefObserver(const std::string& name, |
| + SyncedPrefObserver* observer) { |
| pref_sync_associator_.AddSyncedPrefObserver(name, observer); |
| priority_pref_sync_associator_.AddSyncedPrefObserver(name, observer); |
| } |
| @@ -154,8 +155,7 @@ void PrefServiceSyncable::AddRegisteredSyncablePreference( |
| DCHECK(FindPreference(path)); |
| if (flags & user_prefs::PrefRegistrySyncable::SYNCABLE_PREF) { |
| pref_sync_associator_.RegisterPref(path.c_str()); |
| - } else if (flags & |
| - user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF) { |
| + } else if (flags & user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF) { |
| priority_pref_sync_associator_.RegisterPref(path.c_str()); |
| } |
| } |