| 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 "chrome/browser/sync/sync_prefs.h" | 5 #include "chrome/browser/sync/sync_prefs.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/string_number_conversions.h" | 8 #include "base/string_number_conversions.h" |
| 9 #include "base/values.h" | 9 #include "base/values.h" |
| 10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 const syncer::ModelTypeSet acknowledged_types = | 256 const syncer::ModelTypeSet acknowledged_types = |
| 257 Union(types, | 257 Union(types, |
| 258 syncer::ModelTypeSetFromValue( | 258 syncer::ModelTypeSetFromValue( |
| 259 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes))); | 259 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes))); |
| 260 | 260 |
| 261 scoped_ptr<ListValue> value( | 261 scoped_ptr<ListValue> value( |
| 262 syncer::ModelTypeSetToValue(acknowledged_types)); | 262 syncer::ModelTypeSetToValue(acknowledged_types)); |
| 263 pref_service_->Set(prefs::kSyncAcknowledgedSyncTypes, *value); | 263 pref_service_->Set(prefs::kSyncAcknowledgedSyncTypes, *value); |
| 264 } | 264 } |
| 265 | 265 |
| 266 void SyncPrefs::Observe(int type, | 266 void SyncPrefs::OnPreferenceChanged(PrefServiceBase* service, |
| 267 const content::NotificationSource& source, | 267 const std::string& pref_name) { |
| 268 const content::NotificationDetails& details) { | |
| 269 DCHECK(CalledOnValidThread()); | 268 DCHECK(CalledOnValidThread()); |
| 270 DCHECK(content::Source<PrefService>(pref_service_) == source); | 269 DCHECK_EQ(pref_service_, service); |
| 271 switch (type) { | 270 if (pref_name == prefs::kSyncManaged) { |
| 272 case chrome::NOTIFICATION_PREF_CHANGED: { | 271 FOR_EACH_OBSERVER(SyncPrefObserver, sync_pref_observers_, |
| 273 const std::string* pref_name = | 272 OnSyncManagedPrefChange(*pref_sync_managed_)); |
| 274 content::Details<const std::string>(details).ptr(); | |
| 275 if (*pref_name == prefs::kSyncManaged) { | |
| 276 FOR_EACH_OBSERVER(SyncPrefObserver, sync_pref_observers_, | |
| 277 OnSyncManagedPrefChange(*pref_sync_managed_)); | |
| 278 } | |
| 279 break; | |
| 280 } | |
| 281 default: | |
| 282 NOTREACHED(); | |
| 283 break; | |
| 284 } | 273 } |
| 285 } | 274 } |
| 286 | 275 |
| 287 void SyncPrefs::SetManagedForTest(bool is_managed) { | 276 void SyncPrefs::SetManagedForTest(bool is_managed) { |
| 288 DCHECK(CalledOnValidThread()); | 277 DCHECK(CalledOnValidThread()); |
| 289 CHECK(pref_service_); | 278 CHECK(pref_service_); |
| 290 pref_service_->SetBoolean(prefs::kSyncManaged, is_managed); | 279 pref_service_->SetBoolean(prefs::kSyncManaged, is_managed); |
| 291 } | 280 } |
| 292 | 281 |
| 293 syncer::ModelTypeSet SyncPrefs::GetAcknowledgeSyncedTypesForTest() const { | 282 syncer::ModelTypeSet SyncPrefs::GetAcknowledgeSyncedTypesForTest() const { |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 439 if (types.Has(i->first)) | 428 if (types.Has(i->first)) |
| 440 types_with_groups.PutAll(i->second); | 429 types_with_groups.PutAll(i->second); |
| 441 else | 430 else |
| 442 types_with_groups.RemoveAll(i->second); | 431 types_with_groups.RemoveAll(i->second); |
| 443 } | 432 } |
| 444 types_with_groups.RetainAll(registered_types); | 433 types_with_groups.RetainAll(registered_types); |
| 445 return types_with_groups; | 434 return types_with_groups; |
| 446 } | 435 } |
| 447 | 436 |
| 448 } // namespace browser_sync | 437 } // namespace browser_sync |
| OLD | NEW |