OLD | NEW |
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_driver/sync_prefs.h" | 5 #include "components/sync_driver/sync_prefs.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/prefs/pref_member.h" | 8 #include "base/prefs/pref_member.h" |
9 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 if (GetDataTypePreferred(it.Get())) { | 193 if (GetDataTypePreferred(it.Get())) { |
194 preferred_types.Put(it.Get()); | 194 preferred_types.Put(it.Get()); |
195 } | 195 } |
196 } | 196 } |
197 return ResolvePrefGroups(registered_types, preferred_types); | 197 return ResolvePrefGroups(registered_types, preferred_types); |
198 } | 198 } |
199 | 199 |
200 void SyncPrefs::SetPreferredDataTypes(syncer::ModelTypeSet registered_types, | 200 void SyncPrefs::SetPreferredDataTypes(syncer::ModelTypeSet registered_types, |
201 syncer::ModelTypeSet preferred_types) { | 201 syncer::ModelTypeSet preferred_types) { |
202 DCHECK(CalledOnValidThread()); | 202 DCHECK(CalledOnValidThread()); |
| 203 preferred_types = ResolvePrefGroups(registered_types, preferred_types); |
203 DCHECK(registered_types.HasAll(preferred_types)); | 204 DCHECK(registered_types.HasAll(preferred_types)); |
204 preferred_types = ResolvePrefGroups(registered_types, preferred_types); | |
205 for (syncer::ModelTypeSet::Iterator i = registered_types.First(); i.Good(); | 205 for (syncer::ModelTypeSet::Iterator i = registered_types.First(); i.Good(); |
206 i.Inc()) { | 206 i.Inc()) { |
207 SetDataTypePreferred(i.Get(), preferred_types.Has(i.Get())); | 207 SetDataTypePreferred(i.Get(), preferred_types.Has(i.Get())); |
208 } | 208 } |
209 } | 209 } |
210 | 210 |
211 bool SyncPrefs::IsManaged() const { | 211 bool SyncPrefs::IsManaged() const { |
212 DCHECK(CalledOnValidThread()); | 212 DCHECK(CalledOnValidThread()); |
213 return pref_service_->GetBoolean(prefs::kSyncManaged); | 213 return pref_service_->GetBoolean(prefs::kSyncManaged); |
214 } | 214 } |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
425 // Device info is always preferred. | 425 // Device info is always preferred. |
426 if (type == syncer::DEVICE_INFO) | 426 if (type == syncer::DEVICE_INFO) |
427 return; | 427 return; |
428 | 428 |
429 pref_service_->SetBoolean(pref_name, is_preferred); | 429 pref_service_->SetBoolean(pref_name, is_preferred); |
430 } | 430 } |
431 | 431 |
432 syncer::ModelTypeSet SyncPrefs::ResolvePrefGroups( | 432 syncer::ModelTypeSet SyncPrefs::ResolvePrefGroups( |
433 syncer::ModelTypeSet registered_types, | 433 syncer::ModelTypeSet registered_types, |
434 syncer::ModelTypeSet types) const { | 434 syncer::ModelTypeSet types) const { |
435 DCHECK(registered_types.HasAll(types)); | |
436 syncer::ModelTypeSet types_with_groups = types; | 435 syncer::ModelTypeSet types_with_groups = types; |
437 for (PrefGroupsMap::const_iterator i = pref_groups_.begin(); | 436 for (PrefGroupsMap::const_iterator i = pref_groups_.begin(); |
438 i != pref_groups_.end(); | 437 i != pref_groups_.end(); |
439 ++i) { | 438 ++i) { |
440 if (types.Has(i->first)) | 439 if (types.Has(i->first)) |
441 types_with_groups.PutAll(i->second); | 440 types_with_groups.PutAll(i->second); |
442 } | 441 } |
443 types_with_groups.RetainAll(registered_types); | 442 types_with_groups.RetainAll(registered_types); |
444 return types_with_groups; | 443 return types_with_groups; |
445 } | 444 } |
(...skipping 29 matching lines...) Expand all Loading... |
475 | 474 |
476 bool SyncPrefs::DidSyncShutdownCleanly() const { | 475 bool SyncPrefs::DidSyncShutdownCleanly() const { |
477 return pref_service_->GetBoolean(prefs::kSyncShutdownCleanly); | 476 return pref_service_->GetBoolean(prefs::kSyncShutdownCleanly); |
478 } | 477 } |
479 | 478 |
480 void SyncPrefs::SetCleanShutdown(bool value) { | 479 void SyncPrefs::SetCleanShutdown(bool value) { |
481 pref_service_->SetBoolean(prefs::kSyncShutdownCleanly, value); | 480 pref_service_->SetBoolean(prefs::kSyncShutdownCleanly, value); |
482 } | 481 } |
483 | 482 |
484 } // namespace sync_driver | 483 } // namespace sync_driver |
OLD | NEW |