| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 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_UTIL_H_ | 5 #ifndef CHROME_BROWSER_PREFS_PREF_SERVICE_SYNCABLE_UTIL_H_ |
| 6 #define CHROME_BROWSER_PREFS_PREF_SERVICE_SYNCABLE_UTIL_H_ | 6 #define CHROME_BROWSER_PREFS_PREF_SERVICE_SYNCABLE_UTIL_H_ |
| 7 | 7 |
| 8 class PrefServiceSyncable; | 8 class PrefServiceSyncable; |
| 9 class PrefStore; |
| 9 class Profile; | 10 class Profile; |
| 10 | 11 |
| 11 // PrefServiceSyncable is a PrefService with added integration for | 12 // PrefServiceSyncable is a PrefService with added integration for |
| 12 // sync, and knowledge of how to create an incognito | 13 // sync, and knowledge of how to create an incognito |
| 13 // PrefService. For code that does not need to know about the sync | 14 // PrefService. For code that does not need to know about the sync |
| 14 // integration, you should use only the plain PrefService type. | 15 // integration, you should use only the plain PrefService type. |
| 15 // | 16 // |
| 16 // For this reason, Profile does not expose an accessor for the | 17 // For this reason, Profile does not expose an accessor for the |
| 17 // PrefServiceSyncable type. Instead, you can use the utilities | 18 // PrefServiceSyncable type. Instead, you can use the utilities |
| 18 // below to retrieve the PrefServiceSyncable (or its incognito | 19 // below to retrieve the PrefServiceSyncable (or its incognito |
| 19 // version) from a Profile. | 20 // version) from a Profile. |
| 20 PrefServiceSyncable* PrefServiceSyncableFromProfile(Profile* profile); | 21 PrefServiceSyncable* PrefServiceSyncableFromProfile(Profile* profile); |
| 21 PrefServiceSyncable* PrefServiceSyncableIncognitoFromProfile(Profile* profile); | 22 PrefServiceSyncable* PrefServiceSyncableIncognitoFromProfile(Profile* profile); |
| 22 | 23 |
| 24 // Creates an incognito copy of |pref_service| that shares most prefs but uses |
| 25 // a fresh non-persistent overlay for the user pref store and an individual |
| 26 // extension pref store (to cache the effective extension prefs for incognito |
| 27 // windows). |
| 28 PrefServiceSyncable* CreateIncognitoPrefServiceSyncable( |
| 29 PrefServiceSyncable* pref_service, |
| 30 PrefStore* incognito_extension_pref_store); |
| 31 |
| 23 #endif // CHROME_BROWSER_PREFS_PREF_SERVICE_SYNCABLE_UTIL_H_ | 32 #endif // CHROME_BROWSER_PREFS_PREF_SERVICE_SYNCABLE_UTIL_H_ |
| OLD | NEW |