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

Unified Diff: chrome/browser/prefs/chrome_pref_service_builder.cc

Issue 11570009: Split PrefService into PrefService, PrefServiceSimple and PrefServiceSyncable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: WIP, latest changes from kaiwang@ Created 8 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/prefs/chrome_pref_service_builder.cc
diff --git a/chrome/browser/prefs/chrome_pref_service_builder.cc b/chrome/browser/prefs/chrome_pref_service_builder.cc
index d3fddeacd31a2732113ef2b4ef542fbd6b66d66f..69ad2a06b9f7e4b936245a0741217110fce0d235 100644
--- a/chrome/browser/prefs/chrome_pref_service_builder.cc
+++ b/chrome/browser/prefs/chrome_pref_service_builder.cc
@@ -71,7 +71,29 @@ ChromePrefServiceBuilder::ChromePrefServiceBuilder() {
ChromePrefServiceBuilder::~ChromePrefServiceBuilder() {
}
-PrefService* ChromePrefServiceBuilder::CreateChromePrefs(
+PrefServiceSimple* ChromePrefServiceBuilder::CreateLocalState(
+ const FilePath& pref_filename,
+ base::SequencedTaskRunner* pref_io_task_runner,
+ policy::PolicyService* policy_service,
+ PrefStore* extension_prefs,
+ bool async) {
+ PrefService* pref_service = Build(new PrefServiceSimple);
+ ResetDefaultState();
+ return static_cast<PrefServiceSimple*>(pref_service);
+}
+
+PrefServiceSyncable* ChromePrefServiceBuilder::CreateProfilePrefs(
+ const FilePath& pref_filename,
+ base::SequencedTaskRunner* pref_io_task_runner,
+ policy::PolicyService* policy_service,
+ PrefStore* extension_prefs,
+ bool async) {
+ PrefService* pref_service = Build(new PrefServiceSyncable);
+ ResetDefaultState();
+ return static_cast<PrefServiceSyncable*>(pref_service);
+}
+
+void ChromePrefServiceBuilder::BuildImpl(
const FilePath& pref_filename,
base::SequencedTaskRunner* pref_io_task_runner,
policy::PolicyService* policy_service,
@@ -104,14 +126,9 @@ PrefService* ChromePrefServiceBuilder::CreateChromePrefs(
WithCommandLinePrefs(
new CommandLinePrefStore(CommandLine::ForCurrentProcess()));
WithUserPrefs(new JsonPrefStore(pref_filename, pref_io_task_runner));
-
- PrefService* pref_service = Create();
- ResetDefaultState();
- return pref_service;
}
void ChromePrefServiceBuilder::ResetDefaultState() {
WithLocalizedStringMethod(base::Bind(&l10n_util::GetStringUTF8));
WithReadErrorCallback(base::Bind(&HandleReadError));
- WithSyncAssociator(new PrefModelAssociator());
}

Powered by Google App Engine
This is Rietveld 408576698