diff options
author | danno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-22 13:47:59 +0000 |
---|---|---|
committer | danno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-22 13:47:59 +0000 |
commit | 2510323ec78d771c9258fa95d8f98b5d18f3efaa (patch) | |
tree | 2bbb6a5c3ebba6adf5f01982c75ba52275aadcc4 /chrome/browser/prefs/pref_set_observer.cc | |
parent | 37d5293518a8657af4d79035f7ef2e8c3a8d6b9a (diff) | |
download | chromium_src-2510323ec78d771c9258fa95d8f98b5d18f3efaa.zip chromium_src-2510323ec78d771c9258fa95d8f98b5d18f3efaa.tar.gz chromium_src-2510323ec78d771c9258fa95d8f98b5d18f3efaa.tar.bz2 |
Revert 60169 - Use PrefChangeRegistrar everywhere
BUG=54955
TEST=PrefChangeRegistrarTest.*
Review URL: http://codereview.chromium.org/3304015
TBR=danno@chromium.org
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60170 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/prefs/pref_set_observer.cc')
-rw-r--r-- | chrome/browser/prefs/pref_set_observer.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/chrome/browser/prefs/pref_set_observer.cc b/chrome/browser/prefs/pref_set_observer.cc index dd067d3..a4ecf6f 100644 --- a/chrome/browser/prefs/pref_set_observer.cc +++ b/chrome/browser/prefs/pref_set_observer.cc @@ -11,19 +11,23 @@ PrefSetObserver::PrefSetObserver(PrefService* pref_service, NotificationObserver* observer) : pref_service_(pref_service), observer_(observer) { - registrar_.Init(pref_service); +} + +PrefSetObserver::~PrefSetObserver() { + for (PrefSet::const_iterator i(prefs_.begin()); i != prefs_.end(); ++i) + pref_service_->RemovePrefObserver(i->c_str(), this); } void PrefSetObserver::AddPref(const std::string& pref) { if (!prefs_.count(pref) && pref_service_->FindPreference(pref.c_str())) { prefs_.insert(pref); - registrar_.Add(pref.c_str(), this); + pref_service_->AddPrefObserver(pref.c_str(), this); } } void PrefSetObserver::RemovePref(const std::string& pref) { if (prefs_.erase(pref)) - registrar_.Remove(pref.c_str(), this); + pref_service_->RemovePrefObserver(pref.c_str(), this); } bool PrefSetObserver::IsObserved(const std::string& pref) { |