summaryrefslogtreecommitdiffstats
path: root/chrome/browser/prefs/pref_set_observer.cc
diff options
context:
space:
mode:
authordanno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-22 13:47:59 +0000
committerdanno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-22 13:47:59 +0000
commit2510323ec78d771c9258fa95d8f98b5d18f3efaa (patch)
tree2bbb6a5c3ebba6adf5f01982c75ba52275aadcc4 /chrome/browser/prefs/pref_set_observer.cc
parent37d5293518a8657af4d79035f7ef2e8c3a8d6b9a (diff)
downloadchromium_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.cc10
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) {