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 |