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

Unified Diff: components/pref_registry/pref_registry_syncable.cc

Issue 1096833003: Convert PrefSyncStatus into PrefRegistrationFlags (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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: components/pref_registry/pref_registry_syncable.cc
diff --git a/components/pref_registry/pref_registry_syncable.cc b/components/pref_registry/pref_registry_syncable.cc
index 49d0020a39f103a4713da81afaa8ffb82b1e8900..8a3dcd36c6d24aecba6c08ba52e65b4aaf04249b 100644
--- a/components/pref_registry/pref_registry_syncable.cc
+++ b/components/pref_registry/pref_registry_syncable.cc
@@ -11,15 +11,34 @@
namespace user_prefs {
-PrefRegistrySyncable::PrefRegistrySyncable() {
+namespace {
+
+// Tests that |flags| contains a single sync flag since all sync flags are
+// mutually exclusive.
+bool HasSyncFlag(uint32 flags) {
+ size_t flag_count = 0;
+
+ const uint32 kSyncFlags[] = {
+ PrefRegistrySyncable::UNSYNCABLE_PREF,
+ PrefRegistrySyncable::SYNCABLE_PREF,
+ PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF
+ };
+
+ for (uint32 i = 0; 0 < arraysize(kSyncFlags); ++i) {
+ if (flags && kSyncFlags[i])
+ flag_count++;
+ }
+
+ return flag_count == 1;
}
-PrefRegistrySyncable::~PrefRegistrySyncable() {
+} // namespace
+
Mattias Nissler (ping if slow) 2015/04/20 09:33:34 nit: remove extra blank line
raymes 2015/04/21 07:58:54 Done.
+
+PrefRegistrySyncable::PrefRegistrySyncable() {
}
-const PrefRegistrySyncable::PrefToStatus&
-PrefRegistrySyncable::syncable_preferences() const {
- return syncable_preferences_;
+PrefRegistrySyncable::~PrefRegistrySyncable() {
}
void PrefRegistrySyncable::SetSyncableRegistrationCallback(
@@ -29,95 +48,93 @@ void PrefRegistrySyncable::SetSyncableRegistrationCallback(
void PrefRegistrySyncable::RegisterBooleanPref(const char* path,
bool default_value,
- PrefSyncStatus sync_status) {
+ uint32 flags) {
RegisterSyncablePreference(
- path, new base::FundamentalValue(default_value), sync_status);
+ path, new base::FundamentalValue(default_value), flags);
}
void PrefRegistrySyncable::RegisterIntegerPref(const char* path,
int default_value,
- PrefSyncStatus sync_status) {
+ uint32 flags) {
RegisterSyncablePreference(
- path, new base::FundamentalValue(default_value), sync_status);
+ path, new base::FundamentalValue(default_value), flags);
}
void PrefRegistrySyncable::RegisterDoublePref(const char* path,
double default_value,
- PrefSyncStatus sync_status) {
+ uint32 flags) {
RegisterSyncablePreference(
- path, new base::FundamentalValue(default_value), sync_status);
+ path, new base::FundamentalValue(default_value), flags);
}
void PrefRegistrySyncable::RegisterStringPref(const char* path,
const std::string& default_value,
- PrefSyncStatus sync_status) {
+ uint32 flags) {
RegisterSyncablePreference(
- path, new base::StringValue(default_value), sync_status);
+ path, new base::StringValue(default_value), flags);
}
void PrefRegistrySyncable::RegisterFilePathPref(
const char* path,
const base::FilePath& default_value,
- PrefSyncStatus sync_status) {
+ uint32 flags) {
RegisterSyncablePreference(
- path, new base::StringValue(default_value.value()), sync_status);
+ path, new base::StringValue(default_value.value()), flags);
}
-void PrefRegistrySyncable::RegisterListPref(const char* path,
- PrefSyncStatus sync_status) {
- RegisterSyncablePreference(path, new base::ListValue(), sync_status);
+void PrefRegistrySyncable::RegisterListPref(const char* path, uint32 flags) {
+ RegisterSyncablePreference(path, new base::ListValue(), flags);
}
void PrefRegistrySyncable::RegisterListPref(const char* path,
base::ListValue* default_value,
- PrefSyncStatus sync_status) {
- RegisterSyncablePreference(path, default_value, sync_status);
+ uint32 flags) {
+ RegisterSyncablePreference(path, default_value, flags);
}
void PrefRegistrySyncable::RegisterDictionaryPref(const char* path,
- PrefSyncStatus sync_status) {
- RegisterSyncablePreference(path, new base::DictionaryValue(), sync_status);
+ uint32 flags) {
+ RegisterSyncablePreference(path, new base::DictionaryValue(), flags);
}
void PrefRegistrySyncable::RegisterDictionaryPref(
const char* path,
base::DictionaryValue* default_value,
- PrefSyncStatus sync_status) {
- RegisterSyncablePreference(path, default_value, sync_status);
+ uint32 flags) {
+ RegisterSyncablePreference(path, default_value, flags);
}
void PrefRegistrySyncable::RegisterInt64Pref(
const char* path,
int64 default_value,
- PrefSyncStatus sync_status) {
+ uint32 flags) {
RegisterSyncablePreference(
path,
new base::StringValue(base::Int64ToString(default_value)),
- sync_status);
+ flags);
}
void PrefRegistrySyncable::RegisterUint64Pref(
const char* path,
uint64 default_value,
- PrefSyncStatus sync_status) {
+ uint32 flags) {
RegisterSyncablePreference(
path,
new base::StringValue(base::Uint64ToString(default_value)),
- sync_status);
+ flags);
}
void PrefRegistrySyncable::RegisterSyncablePreference(
const char* path,
base::Value* default_value,
- PrefSyncStatus sync_status) {
- PrefRegistry::RegisterPreference(path, default_value);
-
- if (sync_status == PrefRegistrySyncable::SYNCABLE_PREF ||
- sync_status == PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF) {
- syncable_preferences_[path] = sync_status;
+ uint32 flags) {
+ DCHECK(HasSyncFlag(flags));
+ PrefRegistry::RegisterPreference(path, default_value, flags);
+ if (flags & PrefRegistrySyncable::SYNCABLE_PREF ||
+ flags & PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF) {
if (!callback_.is_null())
- callback_.Run(path, sync_status);
+ callback_.Run(path, flags);
}
}

Powered by Google App Engine
This is Rietveld 408576698