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

Side by Side Diff: chrome/browser/sync/sync_prefs.cc

Issue 11345008: Remove content::NotificationObserver dependency from most Prefs code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge LKGR. Created 8 years, 1 month 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 | Annotate | Revision Log
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 "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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698