| Index: chrome/browser/prefs/pref_set_observer.cc
|
| diff --git a/chrome/browser/prefs/pref_set_observer.cc b/chrome/browser/prefs/pref_set_observer.cc
|
| index a4ecf6ffe9eac4f2c1eaf8969a7cb06006012664..dd067d3aac05e6c851227212586aec515c17b2aa 100644
|
| --- a/chrome/browser/prefs/pref_set_observer.cc
|
| +++ b/chrome/browser/prefs/pref_set_observer.cc
|
| @@ -11,23 +11,19 @@ PrefSetObserver::PrefSetObserver(PrefService* pref_service,
|
| NotificationObserver* observer)
|
| : pref_service_(pref_service),
|
| observer_(observer) {
|
| -}
|
| -
|
| -PrefSetObserver::~PrefSetObserver() {
|
| - for (PrefSet::const_iterator i(prefs_.begin()); i != prefs_.end(); ++i)
|
| - pref_service_->RemovePrefObserver(i->c_str(), this);
|
| + registrar_.Init(pref_service);
|
| }
|
|
|
| void PrefSetObserver::AddPref(const std::string& pref) {
|
| if (!prefs_.count(pref) && pref_service_->FindPreference(pref.c_str())) {
|
| prefs_.insert(pref);
|
| - pref_service_->AddPrefObserver(pref.c_str(), this);
|
| + registrar_.Add(pref.c_str(), this);
|
| }
|
| }
|
|
|
| void PrefSetObserver::RemovePref(const std::string& pref) {
|
| if (prefs_.erase(pref))
|
| - pref_service_->RemovePrefObserver(pref.c_str(), this);
|
| + registrar_.Remove(pref.c_str(), this);
|
| }
|
|
|
| bool PrefSetObserver::IsObserved(const std::string& pref) {
|
|
|