Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / prefs / chrome_pref_service_factory.h
index c8a119d..7991f7c 100644 (file)
@@ -9,6 +9,7 @@
 #include "base/memory/scoped_ptr.h"
 
 namespace base {
+class DictionaryValue;
 class FilePath;
 class SequencedTaskRunner;
 }
@@ -24,12 +25,22 @@ class PrefRegistrySyncable;
 class ManagedUserSettingsService;
 class PrefHashStore;
 class PrefRegistry;
+class PrefRegistrySimple;
 class PrefService;
 class PrefServiceSyncable;
 class PrefStore;
 
 namespace chrome_prefs {
 
+namespace internals {
+
+extern const char kSettingsEnforcementTrialName[];
+extern const char kSettingsEnforcementGroupNoEnforcement[];
+extern const char kSettingsEnforcementGroupEnforceOnload[];
+extern const char kSettingsEnforcementGroupEnforceAlways[];
+
+}  // namespace internals
+
 // Factory methods that create and initialize a new instance of a
 // PrefService for Chrome with the applicable PrefStores. The
 // |pref_filename| points to the user preference file. This is the
@@ -57,17 +68,35 @@ scoped_ptr<PrefServiceSyncable> CreateProfilePrefs(
     base::SequencedTaskRunner* pref_io_task_runner,
     policy::PolicyService* policy_service,
     ManagedUserSettingsService* managed_user_settings,
-    scoped_ptr<PrefHashStore> pref_hash_store,
     const scoped_refptr<PrefStore>& extension_prefs,
     const scoped_refptr<user_prefs::PrefRegistrySyncable>& pref_registry,
     bool async);
 
-// Initializes a preference hash store for the profile preferences file at
-// |pref_filename| without actually loading the profile.
-void InitializeHashStoreForPrefFile(
-    const base::FilePath& pref_filename,
-    base::SequencedTaskRunner* pref_io_task_runner,
-    scoped_ptr<PrefHashStore> pref_hash_store);
+// Schedules verification of the path resolution of the preferences file under
+// |profile_path|.
+void SchedulePrefsFilePathVerification(const base::FilePath& profile_path);
+
+// Call before calling SchedulePrefHashStoresUpdateCheck to cause it to run with
+// zero delay. For testing only.
+void EnableZeroDelayPrefHashStoreUpdateForTesting();
+
+// Shedules an update check for all PrefHashStores, stores whose version doesn't
+// match the latest version will then be updated.
+void SchedulePrefHashStoresUpdateCheck(
+    const base::FilePath& initial_profile_path);
+
+// Resets the contents of the preference hash store for the profile at
+// |profile_path|.
+void ResetPrefHashStore(const base::FilePath& profile_path);
+
+// Initializes the preferences for the profile at |profile_path| with the
+// preference values in |master_prefs|. Returns true on success.
+bool InitializePrefsFromMasterPrefs(
+    const base::FilePath& profile_path,
+    const base::DictionaryValue& master_prefs);
+
+// Register local state prefs used by chrome preference system.
+void RegisterPrefs(PrefRegistrySimple* registry);
 
 }  // namespace chrome_prefs