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

Unified Diff: chrome/browser/prefs/pref_model_associator_client.h

Issue 1326353002: Remove dependency of PrefSyncableService on Profile. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pref_model_associator
Patch Set: Move files back to //chrome/browser/prefs & //chrome/test/base Created 5 years, 3 months 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/pref_model_associator_client.h
diff --git a/chrome/browser/prefs/pref_model_associator_client.h b/chrome/browser/prefs/pref_model_associator_client.h
new file mode 100644
index 0000000000000000000000000000000000000000..a5a1cecb42e233f4bd82c8842193f1134ea7d7a3
--- /dev/null
+++ b/chrome/browser/prefs/pref_model_associator_client.h
@@ -0,0 +1,43 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_PREFS_PREF_MODEL_ASSOCIATOR_CLIENT_H_
+#define CHROME_BROWSER_PREFS_PREF_MODEL_ASSOCIATOR_CLIENT_H_
+
+#include <map>
+#include <string>
+
+#include "base/macros.h"
+
+// Type of preference that can have special treatment during synchronisation.
+enum PrefModelAssociatorPreferenceType {
gab 2015/09/10 14:15:09 Make this an enum class (or move it inside the Pre
+ PREF_MODEL_PREFERENCE_TYPE_LIST,
+ PREF_MODEL_PREFERENCE_TYPE_DICT,
+};
+
+// This class stores preferences names that should have local value merged
+// with server value during synchronisation instead of being replaced.
+class PrefModelAssociatorClient {
+ public:
+ PrefModelAssociatorClient();
+ virtual ~PrefModelAssociatorClient();
+
+ // Register a preference that should be merged with server value during
+ // synchronisation instead of being merged.
gab 2015/09/10 14:15:09 "Should be merged instead of being merged"..? Feel
+ void RegisterPreference(const std::string& pref_name,
gab 2015/09/10 14:15:09 Pref registration is already a separate concept in
+ PrefModelAssociatorPreferenceType pref_type);
+
+ // Returns whether the preference named |pref_name| should be merged with
+ // service value during synchronisation instead of being merged, and its
gab 2015/09/10 14:15:09 Once again I don't see what you mean by "instead o
gab 2015/09/10 14:15:09 s/, and/as well as/
gab 2015/09/10 14:15:09 s/service/server/
+ // type via |pref_type| (must not be null).
+ bool IsPreferenceMerged(const std::string& pref_name,
+ PrefModelAssociatorPreferenceType* pref_type);
+
+ private:
+ std::map<std::string, PrefModelAssociatorPreferenceType> pref_registry_;
gab 2015/09/10 14:15:09 PrefRegistry is already a separate concept in pref
+
+ DISALLOW_COPY_AND_ASSIGN(PrefModelAssociatorClient);
+};
+
+#endif // CHROME_BROWSER_PREFS_PREF_MODEL_ASSOCIATOR_CLIENT_H_

Powered by Google App Engine
This is Rietveld 408576698