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

Side by Side Diff: components/sync/base/sync_prefs.cc

Issue 2915453002: Deprecate NonThreadSafe in components/sync in favor of SequenceChecker. (Closed)
Patch Set: Created 3 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "components/sync/base/sync_prefs.h" 5 #include "components/sync/base/sync_prefs.h"
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 13 matching lines...) Expand all
24 // Watch the preference that indicates sync is managed so we can take 24 // Watch the preference that indicates sync is managed so we can take
25 // appropriate action. 25 // appropriate action.
26 pref_sync_managed_.Init( 26 pref_sync_managed_.Init(
27 prefs::kSyncManaged, pref_service_, 27 prefs::kSyncManaged, pref_service_,
28 base::Bind(&SyncPrefs::OnSyncManagedPrefChanged, base::Unretained(this))); 28 base::Bind(&SyncPrefs::OnSyncManagedPrefChanged, base::Unretained(this)));
29 } 29 }
30 30
31 SyncPrefs::SyncPrefs() : pref_service_(nullptr) {} 31 SyncPrefs::SyncPrefs() : pref_service_(nullptr) {}
32 32
33 SyncPrefs::~SyncPrefs() { 33 SyncPrefs::~SyncPrefs() {
34 DCHECK(CalledOnValidThread()); 34 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
35 } 35 }
36 36
37 // static 37 // static
38 void SyncPrefs::RegisterProfilePrefs( 38 void SyncPrefs::RegisterProfilePrefs(
39 user_prefs::PrefRegistrySyncable* registry) { 39 user_prefs::PrefRegistrySyncable* registry) {
40 registry->RegisterBooleanPref(prefs::kSyncFirstSetupComplete, false); 40 registry->RegisterBooleanPref(prefs::kSyncFirstSetupComplete, false);
41 registry->RegisterBooleanPref(prefs::kSyncSuppressStart, false); 41 registry->RegisterBooleanPref(prefs::kSyncSuppressStart, false);
42 registry->RegisterInt64Pref(prefs::kSyncLastSyncedTime, 0); 42 registry->RegisterInt64Pref(prefs::kSyncLastSyncedTime, 0);
43 registry->RegisterInt64Pref(prefs::kSyncLastPollTime, 0); 43 registry->RegisterInt64Pref(prefs::kSyncLastPollTime, 0);
44 registry->RegisterInt64Pref(prefs::kSyncFirstSyncTime, 0); 44 registry->RegisterInt64Pref(prefs::kSyncFirstSyncTime, 0);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 registry->RegisterStringPref(prefs::kSyncLastRunVersion, std::string()); 86 registry->RegisterStringPref(prefs::kSyncLastRunVersion, std::string());
87 registry->RegisterBooleanPref( 87 registry->RegisterBooleanPref(
88 prefs::kSyncPassphraseEncryptionTransitionInProgress, false); 88 prefs::kSyncPassphraseEncryptionTransitionInProgress, false);
89 registry->RegisterStringPref(prefs::kSyncNigoriStateForPassphraseTransition, 89 registry->RegisterStringPref(prefs::kSyncNigoriStateForPassphraseTransition,
90 std::string()); 90 std::string());
91 registry->RegisterBooleanPref(prefs::kEnableLocalSyncBackend, false); 91 registry->RegisterBooleanPref(prefs::kEnableLocalSyncBackend, false);
92 registry->RegisterFilePathPref(prefs::kLocalSyncBackendDir, base::FilePath()); 92 registry->RegisterFilePathPref(prefs::kLocalSyncBackendDir, base::FilePath());
93 } 93 }
94 94
95 void SyncPrefs::AddSyncPrefObserver(SyncPrefObserver* sync_pref_observer) { 95 void SyncPrefs::AddSyncPrefObserver(SyncPrefObserver* sync_pref_observer) {
96 DCHECK(CalledOnValidThread()); 96 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
97 sync_pref_observers_.AddObserver(sync_pref_observer); 97 sync_pref_observers_.AddObserver(sync_pref_observer);
98 } 98 }
99 99
100 void SyncPrefs::RemoveSyncPrefObserver(SyncPrefObserver* sync_pref_observer) { 100 void SyncPrefs::RemoveSyncPrefObserver(SyncPrefObserver* sync_pref_observer) {
101 DCHECK(CalledOnValidThread()); 101 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
102 sync_pref_observers_.RemoveObserver(sync_pref_observer); 102 sync_pref_observers_.RemoveObserver(sync_pref_observer);
103 } 103 }
104 104
105 void SyncPrefs::ClearPreferences() { 105 void SyncPrefs::ClearPreferences() {
106 DCHECK(CalledOnValidThread()); 106 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
107 pref_service_->ClearPref(prefs::kSyncLastSyncedTime); 107 pref_service_->ClearPref(prefs::kSyncLastSyncedTime);
108 pref_service_->ClearPref(prefs::kSyncLastPollTime); 108 pref_service_->ClearPref(prefs::kSyncLastPollTime);
109 pref_service_->ClearPref(prefs::kSyncFirstSetupComplete); 109 pref_service_->ClearPref(prefs::kSyncFirstSetupComplete);
110 pref_service_->ClearPref(prefs::kSyncEncryptionBootstrapToken); 110 pref_service_->ClearPref(prefs::kSyncEncryptionBootstrapToken);
111 pref_service_->ClearPref(prefs::kSyncKeystoreEncryptionBootstrapToken); 111 pref_service_->ClearPref(prefs::kSyncKeystoreEncryptionBootstrapToken);
112 pref_service_->ClearPref(prefs::kSyncPassphrasePrompted); 112 pref_service_->ClearPref(prefs::kSyncPassphrasePrompted);
113 pref_service_->ClearPref(prefs::kSyncMemoryPressureWarningCount); 113 pref_service_->ClearPref(prefs::kSyncMemoryPressureWarningCount);
114 pref_service_->ClearPref(prefs::kSyncShutdownCleanly); 114 pref_service_->ClearPref(prefs::kSyncShutdownCleanly);
115 pref_service_->ClearPref(prefs::kSyncInvalidationVersions); 115 pref_service_->ClearPref(prefs::kSyncInvalidationVersions);
116 pref_service_->ClearPref(prefs::kSyncLastRunVersion); 116 pref_service_->ClearPref(prefs::kSyncLastRunVersion);
117 pref_service_->ClearPref( 117 pref_service_->ClearPref(
118 prefs::kSyncPassphraseEncryptionTransitionInProgress); 118 prefs::kSyncPassphraseEncryptionTransitionInProgress);
119 pref_service_->ClearPref(prefs::kSyncNigoriStateForPassphraseTransition); 119 pref_service_->ClearPref(prefs::kSyncNigoriStateForPassphraseTransition);
120 120
121 // TODO(nick): The current behavior does not clear 121 // TODO(nick): The current behavior does not clear
122 // e.g. prefs::kSyncBookmarks. Is that really what we want? 122 // e.g. prefs::kSyncBookmarks. Is that really what we want?
123 } 123 }
124 124
125 bool SyncPrefs::IsFirstSetupComplete() const { 125 bool SyncPrefs::IsFirstSetupComplete() const {
126 DCHECK(CalledOnValidThread()); 126 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
127 return pref_service_->GetBoolean(prefs::kSyncFirstSetupComplete); 127 return pref_service_->GetBoolean(prefs::kSyncFirstSetupComplete);
128 } 128 }
129 129
130 void SyncPrefs::SetFirstSetupComplete() { 130 void SyncPrefs::SetFirstSetupComplete() {
131 DCHECK(CalledOnValidThread()); 131 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
132 pref_service_->SetBoolean(prefs::kSyncFirstSetupComplete, true); 132 pref_service_->SetBoolean(prefs::kSyncFirstSetupComplete, true);
133 } 133 }
134 134
135 bool SyncPrefs::SyncHasAuthError() const { 135 bool SyncPrefs::SyncHasAuthError() const {
136 DCHECK(CalledOnValidThread()); 136 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
137 return pref_service_->GetBoolean(prefs::kSyncHasAuthError); 137 return pref_service_->GetBoolean(prefs::kSyncHasAuthError);
138 } 138 }
139 139
140 void SyncPrefs::SetSyncAuthError(bool error) { 140 void SyncPrefs::SetSyncAuthError(bool error) {
141 DCHECK(CalledOnValidThread()); 141 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
142 pref_service_->SetBoolean(prefs::kSyncHasAuthError, error); 142 pref_service_->SetBoolean(prefs::kSyncHasAuthError, error);
143 } 143 }
144 144
145 bool SyncPrefs::IsSyncRequested() const { 145 bool SyncPrefs::IsSyncRequested() const {
146 DCHECK(CalledOnValidThread()); 146 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
147 // IsSyncRequested is the inverse of the old SuppressStart pref. 147 // IsSyncRequested is the inverse of the old SuppressStart pref.
148 // Since renaming a pref value is hard, here we still use the old one. 148 // Since renaming a pref value is hard, here we still use the old one.
149 return !pref_service_->GetBoolean(prefs::kSyncSuppressStart); 149 return !pref_service_->GetBoolean(prefs::kSyncSuppressStart);
150 } 150 }
151 151
152 void SyncPrefs::SetSyncRequested(bool is_requested) { 152 void SyncPrefs::SetSyncRequested(bool is_requested) {
153 DCHECK(CalledOnValidThread()); 153 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
154 // See IsSyncRequested for why we use this pref and !is_requested. 154 // See IsSyncRequested for why we use this pref and !is_requested.
155 pref_service_->SetBoolean(prefs::kSyncSuppressStart, !is_requested); 155 pref_service_->SetBoolean(prefs::kSyncSuppressStart, !is_requested);
156 } 156 }
157 157
158 base::Time SyncPrefs::GetLastSyncedTime() const { 158 base::Time SyncPrefs::GetLastSyncedTime() const {
159 DCHECK(CalledOnValidThread()); 159 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
160 return base::Time::FromInternalValue( 160 return base::Time::FromInternalValue(
161 pref_service_->GetInt64(prefs::kSyncLastSyncedTime)); 161 pref_service_->GetInt64(prefs::kSyncLastSyncedTime));
162 } 162 }
163 163
164 void SyncPrefs::SetLastSyncedTime(base::Time time) { 164 void SyncPrefs::SetLastSyncedTime(base::Time time) {
165 DCHECK(CalledOnValidThread()); 165 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
166 pref_service_->SetInt64(prefs::kSyncLastSyncedTime, time.ToInternalValue()); 166 pref_service_->SetInt64(prefs::kSyncLastSyncedTime, time.ToInternalValue());
167 } 167 }
168 168
169 base::Time SyncPrefs::GetLastPollTime() const { 169 base::Time SyncPrefs::GetLastPollTime() const {
170 DCHECK(CalledOnValidThread()); 170 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
171 return base::Time::FromInternalValue( 171 return base::Time::FromInternalValue(
172 pref_service_->GetInt64(prefs::kSyncLastSyncedTime)); 172 pref_service_->GetInt64(prefs::kSyncLastSyncedTime));
173 } 173 }
174 174
175 void SyncPrefs::SetLastPollTime(base::Time time) { 175 void SyncPrefs::SetLastPollTime(base::Time time) {
176 DCHECK(CalledOnValidThread()); 176 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
177 pref_service_->SetInt64(prefs::kSyncLastPollTime, time.ToInternalValue()); 177 pref_service_->SetInt64(prefs::kSyncLastPollTime, time.ToInternalValue());
178 } 178 }
179 179
180 bool SyncPrefs::HasKeepEverythingSynced() const { 180 bool SyncPrefs::HasKeepEverythingSynced() const {
181 DCHECK(CalledOnValidThread()); 181 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
182 return pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced); 182 return pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced);
183 } 183 }
184 184
185 void SyncPrefs::SetKeepEverythingSynced(bool keep_everything_synced) { 185 void SyncPrefs::SetKeepEverythingSynced(bool keep_everything_synced) {
186 DCHECK(CalledOnValidThread()); 186 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
187 pref_service_->SetBoolean(prefs::kSyncKeepEverythingSynced, 187 pref_service_->SetBoolean(prefs::kSyncKeepEverythingSynced,
188 keep_everything_synced); 188 keep_everything_synced);
189 } 189 }
190 190
191 ModelTypeSet SyncPrefs::GetPreferredDataTypes( 191 ModelTypeSet SyncPrefs::GetPreferredDataTypes(
192 ModelTypeSet registered_types) const { 192 ModelTypeSet registered_types) const {
193 DCHECK(CalledOnValidThread()); 193 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
194 194
195 if (pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced)) { 195 if (pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced)) {
196 return registered_types; 196 return registered_types;
197 } 197 }
198 198
199 ModelTypeSet preferred_types; 199 ModelTypeSet preferred_types;
200 for (ModelTypeSet::Iterator it = registered_types.First(); it.Good(); 200 for (ModelTypeSet::Iterator it = registered_types.First(); it.Good();
201 it.Inc()) { 201 it.Inc()) {
202 if (GetDataTypePreferred(it.Get())) { 202 if (GetDataTypePreferred(it.Get())) {
203 preferred_types.Put(it.Get()); 203 preferred_types.Put(it.Get());
204 } 204 }
205 } 205 }
206 return ResolvePrefGroups(registered_types, preferred_types); 206 return ResolvePrefGroups(registered_types, preferred_types);
207 } 207 }
208 208
209 void SyncPrefs::SetPreferredDataTypes(ModelTypeSet registered_types, 209 void SyncPrefs::SetPreferredDataTypes(ModelTypeSet registered_types,
210 ModelTypeSet preferred_types) { 210 ModelTypeSet preferred_types) {
211 DCHECK(CalledOnValidThread()); 211 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
212 preferred_types = ResolvePrefGroups(registered_types, preferred_types); 212 preferred_types = ResolvePrefGroups(registered_types, preferred_types);
213 DCHECK(registered_types.HasAll(preferred_types)); 213 DCHECK(registered_types.HasAll(preferred_types));
214 for (ModelTypeSet::Iterator i = registered_types.First(); i.Good(); i.Inc()) { 214 for (ModelTypeSet::Iterator i = registered_types.First(); i.Good(); i.Inc()) {
215 SetDataTypePreferred(i.Get(), preferred_types.Has(i.Get())); 215 SetDataTypePreferred(i.Get(), preferred_types.Has(i.Get()));
216 } 216 }
217 } 217 }
218 218
219 bool SyncPrefs::IsManaged() const { 219 bool SyncPrefs::IsManaged() const {
220 DCHECK(CalledOnValidThread()); 220 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
221 return pref_service_->GetBoolean(prefs::kSyncManaged); 221 return pref_service_->GetBoolean(prefs::kSyncManaged);
222 } 222 }
223 223
224 std::string SyncPrefs::GetEncryptionBootstrapToken() const { 224 std::string SyncPrefs::GetEncryptionBootstrapToken() const {
225 DCHECK(CalledOnValidThread()); 225 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
226 return pref_service_->GetString(prefs::kSyncEncryptionBootstrapToken); 226 return pref_service_->GetString(prefs::kSyncEncryptionBootstrapToken);
227 } 227 }
228 228
229 void SyncPrefs::SetEncryptionBootstrapToken(const std::string& token) { 229 void SyncPrefs::SetEncryptionBootstrapToken(const std::string& token) {
230 DCHECK(CalledOnValidThread()); 230 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
231 pref_service_->SetString(prefs::kSyncEncryptionBootstrapToken, token); 231 pref_service_->SetString(prefs::kSyncEncryptionBootstrapToken, token);
232 } 232 }
233 233
234 std::string SyncPrefs::GetKeystoreEncryptionBootstrapToken() const { 234 std::string SyncPrefs::GetKeystoreEncryptionBootstrapToken() const {
235 DCHECK(CalledOnValidThread()); 235 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
236 return pref_service_->GetString(prefs::kSyncKeystoreEncryptionBootstrapToken); 236 return pref_service_->GetString(prefs::kSyncKeystoreEncryptionBootstrapToken);
237 } 237 }
238 238
239 void SyncPrefs::SetKeystoreEncryptionBootstrapToken(const std::string& token) { 239 void SyncPrefs::SetKeystoreEncryptionBootstrapToken(const std::string& token) {
240 DCHECK(CalledOnValidThread()); 240 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
241 pref_service_->SetString(prefs::kSyncKeystoreEncryptionBootstrapToken, token); 241 pref_service_->SetString(prefs::kSyncKeystoreEncryptionBootstrapToken, token);
242 } 242 }
243 243
244 std::string SyncPrefs::GetSyncSessionsGUID() const { 244 std::string SyncPrefs::GetSyncSessionsGUID() const {
245 DCHECK(CalledOnValidThread()); 245 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
246 return pref_service_->GetString(prefs::kSyncSessionsGUID); 246 return pref_service_->GetString(prefs::kSyncSessionsGUID);
247 } 247 }
248 248
249 void SyncPrefs::SetSyncSessionsGUID(const std::string& guid) { 249 void SyncPrefs::SetSyncSessionsGUID(const std::string& guid) {
250 DCHECK(CalledOnValidThread()); 250 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
251 pref_service_->SetString(prefs::kSyncSessionsGUID, guid); 251 pref_service_->SetString(prefs::kSyncSessionsGUID, guid);
252 } 252 }
253 253
254 // static 254 // static
255 const char* SyncPrefs::GetPrefNameForDataType(ModelType type) { 255 const char* SyncPrefs::GetPrefNameForDataType(ModelType type) {
256 switch (type) { 256 switch (type) {
257 case UNSPECIFIED: 257 case UNSPECIFIED:
258 case TOP_LEVEL_FOLDER: 258 case TOP_LEVEL_FOLDER:
259 break; 259 break;
260 case BOOKMARKS: 260 case BOOKMARKS:
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 case EXPERIMENTS: 333 case EXPERIMENTS:
334 case MODEL_TYPE_COUNT: 334 case MODEL_TYPE_COUNT:
335 break; 335 break;
336 } 336 }
337 NOTREACHED() << "No pref mapping for type " << ModelTypeToString(type); 337 NOTREACHED() << "No pref mapping for type " << ModelTypeToString(type);
338 return nullptr; 338 return nullptr;
339 } 339 }
340 340
341 #if defined(OS_CHROMEOS) 341 #if defined(OS_CHROMEOS)
342 std::string SyncPrefs::GetSpareBootstrapToken() const { 342 std::string SyncPrefs::GetSpareBootstrapToken() const {
343 DCHECK(CalledOnValidThread()); 343 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
344 return pref_service_->GetString(prefs::kSyncSpareBootstrapToken); 344 return pref_service_->GetString(prefs::kSyncSpareBootstrapToken);
345 } 345 }
346 346
347 void SyncPrefs::SetSpareBootstrapToken(const std::string& token) { 347 void SyncPrefs::SetSpareBootstrapToken(const std::string& token) {
348 DCHECK(CalledOnValidThread()); 348 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
349 pref_service_->SetString(prefs::kSyncSpareBootstrapToken, token); 349 pref_service_->SetString(prefs::kSyncSpareBootstrapToken, token);
350 } 350 }
351 #endif 351 #endif
352 352
353 void SyncPrefs::OnSyncManagedPrefChanged() { 353 void SyncPrefs::OnSyncManagedPrefChanged() {
354 DCHECK(CalledOnValidThread()); 354 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
355 for (auto& observer : sync_pref_observers_) 355 for (auto& observer : sync_pref_observers_)
356 observer.OnSyncManagedPrefChange(*pref_sync_managed_); 356 observer.OnSyncManagedPrefChange(*pref_sync_managed_);
357 } 357 }
358 358
359 void SyncPrefs::SetManagedForTest(bool is_managed) { 359 void SyncPrefs::SetManagedForTest(bool is_managed) {
360 DCHECK(CalledOnValidThread()); 360 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
361 pref_service_->SetBoolean(prefs::kSyncManaged, is_managed); 361 pref_service_->SetBoolean(prefs::kSyncManaged, is_managed);
362 } 362 }
363 363
364 void SyncPrefs::RegisterPrefGroups() { 364 void SyncPrefs::RegisterPrefGroups() {
365 pref_groups_[APPS].Put(APP_NOTIFICATIONS); 365 pref_groups_[APPS].Put(APP_NOTIFICATIONS);
366 pref_groups_[APPS].Put(APP_SETTINGS); 366 pref_groups_[APPS].Put(APP_SETTINGS);
367 pref_groups_[APPS].Put(APP_LIST); 367 pref_groups_[APPS].Put(APP_LIST);
368 pref_groups_[APPS].Put(ARC_PACKAGE); 368 pref_groups_[APPS].Put(ARC_PACKAGE);
369 pref_groups_[APPS].Put(READING_LIST); 369 pref_groups_[APPS].Put(READING_LIST);
370 370
(...skipping 28 matching lines...) Expand all
399 bool is_preferred) { 399 bool is_preferred) {
400 const char* pref_name = GetPrefNameForDataType(type); 400 const char* pref_name = GetPrefNameForDataType(type);
401 if (!pref_name) { 401 if (!pref_name) {
402 NOTREACHED(); 402 NOTREACHED();
403 return; 403 return;
404 } 404 }
405 registry->RegisterBooleanPref(pref_name, is_preferred); 405 registry->RegisterBooleanPref(pref_name, is_preferred);
406 } 406 }
407 407
408 bool SyncPrefs::GetDataTypePreferred(ModelType type) const { 408 bool SyncPrefs::GetDataTypePreferred(ModelType type) const {
409 DCHECK(CalledOnValidThread()); 409 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
410 const char* pref_name = GetPrefNameForDataType(type); 410 const char* pref_name = GetPrefNameForDataType(type);
411 if (!pref_name) { 411 if (!pref_name) {
412 NOTREACHED(); 412 NOTREACHED();
413 return false; 413 return false;
414 } 414 }
415 415
416 // Device info is always enabled. 416 // Device info is always enabled.
417 if (pref_name == prefs::kSyncDeviceInfo) 417 if (pref_name == prefs::kSyncDeviceInfo)
418 return true; 418 return true;
419 419
420 if (type == PROXY_TABS && 420 if (type == PROXY_TABS &&
421 pref_service_->GetUserPrefValue(pref_name) == nullptr && 421 pref_service_->GetUserPrefValue(pref_name) == nullptr &&
422 pref_service_->IsUserModifiablePreference(pref_name)) { 422 pref_service_->IsUserModifiablePreference(pref_name)) {
423 // If there is no tab sync preference yet (i.e. newly enabled type), 423 // If there is no tab sync preference yet (i.e. newly enabled type),
424 // default to the session sync preference value. 424 // default to the session sync preference value.
425 pref_name = GetPrefNameForDataType(SESSIONS); 425 pref_name = GetPrefNameForDataType(SESSIONS);
426 } 426 }
427 427
428 return pref_service_->GetBoolean(pref_name); 428 return pref_service_->GetBoolean(pref_name);
429 } 429 }
430 430
431 void SyncPrefs::SetDataTypePreferred(ModelType type, bool is_preferred) { 431 void SyncPrefs::SetDataTypePreferred(ModelType type, bool is_preferred) {
432 DCHECK(CalledOnValidThread()); 432 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
433 const char* pref_name = GetPrefNameForDataType(type); 433 const char* pref_name = GetPrefNameForDataType(type);
434 if (!pref_name) { 434 if (!pref_name) {
435 NOTREACHED(); 435 NOTREACHED();
436 return; 436 return;
437 } 437 }
438 438
439 // Device info is always preferred. 439 // Device info is always preferred.
440 if (type == DEVICE_INFO) 440 if (type == DEVICE_INFO)
441 return; 441 return;
442 442
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
560 560
561 bool SyncPrefs::IsLocalSyncEnabled() const { 561 bool SyncPrefs::IsLocalSyncEnabled() const {
562 return pref_service_->GetBoolean(prefs::kEnableLocalSyncBackend); 562 return pref_service_->GetBoolean(prefs::kEnableLocalSyncBackend);
563 } 563 }
564 564
565 base::FilePath SyncPrefs::GetLocalSyncBackendDir() const { 565 base::FilePath SyncPrefs::GetLocalSyncBackendDir() const {
566 return pref_service_->GetFilePath(prefs::kLocalSyncBackendDir); 566 return pref_service_->GetFilePath(prefs::kLocalSyncBackendDir);
567 } 567 }
568 568
569 } // namespace syncer 569 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698