Index: chrome/browser/prefs/pref_service_unittest.cc |
diff --git a/chrome/browser/prefs/pref_service_unittest.cc b/chrome/browser/prefs/pref_service_unittest.cc |
index 461f1083b055cb58064f2b35c1a0fed6149bd31d..d62679d25d47884bfe1f1c70ca6ab94da2d0305b 100644 |
--- a/chrome/browser/prefs/pref_service_unittest.cc |
+++ b/chrome/browser/prefs/pref_service_unittest.cc |
@@ -8,6 +8,7 @@ |
#include "base/scoped_ptr.h" |
#include "base/values.h" |
#include "chrome/browser/prefs/dummy_pref_store.h" |
+#include "chrome/browser/prefs/pref_change_registrar.h" |
#include "chrome/browser/prefs/pref_value_store.h" |
#include "chrome/common/chrome_paths.h" |
#include "chrome/common/notification_observer_mock.h" |
@@ -94,7 +95,10 @@ TEST(PrefServiceTest, NoObserverFire) { |
const std::string new_pref_value("http://www.google.com/"); |
TestPrefObserver obs(&prefs, pref_name, new_pref_value); |
- prefs.AddPrefObserver(pref_name, &obs); |
+ |
+ PrefChangeRegistrar registrar; |
+ registrar.Init(&prefs); |
+ registrar.Add(pref_name, &obs); |
// This should fire the checks in TestPrefObserver::Observe. |
prefs.SetString(pref_name, new_pref_value); |
@@ -116,9 +120,6 @@ TEST(PrefServiceTest, NoObserverFire) { |
obs.Reset(""); |
prefs.ClearPref(pref_name); |
EXPECT_FALSE(obs.observer_fired()); |
- |
- // Ok, clean up. |
- prefs.RemovePrefObserver(pref_name, &obs); |
} |
TEST(PrefServiceTest, HasPrefPath) { |
@@ -148,7 +149,9 @@ TEST(PrefServiceTest, Observers) { |
const std::string new_pref_value("http://www.google.com/"); |
TestPrefObserver obs(&prefs, pref_name, new_pref_value); |
- prefs.AddPrefObserver(pref_name, &obs); |
+ PrefChangeRegistrar registrar; |
+ registrar.Init(&prefs); |
+ registrar.Add(pref_name, &obs); |
// This should fire the checks in TestPrefObserver::Observe. |
prefs.SetString(pref_name, new_pref_value); |
@@ -159,23 +162,20 @@ TEST(PrefServiceTest, Observers) { |
const std::string new_pref_value2("http://www.youtube.com/"); |
obs.Reset(new_pref_value2); |
TestPrefObserver obs2(&prefs, pref_name, new_pref_value2); |
- prefs.AddPrefObserver(pref_name, &obs2); |
+ registrar.Add(pref_name, &obs2); |
// This should fire the checks in obs and obs2. |
prefs.SetString(pref_name, new_pref_value2); |
EXPECT_TRUE(obs.observer_fired()); |
EXPECT_TRUE(obs2.observer_fired()); |
// Make sure obs2 still works after removing obs. |
- prefs.RemovePrefObserver(pref_name, &obs); |
+ registrar.Remove(pref_name, &obs); |
obs.Reset(""); |
obs2.Reset(new_pref_value); |
// This should only fire the observer in obs2. |
prefs.SetString(pref_name, new_pref_value); |
EXPECT_FALSE(obs.observer_fired()); |
EXPECT_TRUE(obs2.observer_fired()); |
- |
- // Ok, clean up. |
- prefs.RemovePrefObserver(pref_name, &obs2); |
} |
class PrefServiceSetValueTest : public testing::Test { |
@@ -211,7 +211,11 @@ TEST_F(PrefServiceSetValueTest, SetStringValue) { |
const char default_string[] = "default"; |
scoped_ptr<Value> default_value(Value::CreateStringValue(default_string)); |
prefs_.RegisterStringPref(name_, default_string); |
- prefs_.AddPrefObserver(name_, &observer_); |
+ |
+ PrefChangeRegistrar registrar; |
+ registrar.Init(&prefs_); |
+ registrar.Add(name_, &observer_); |
+ |
// Changing the controlling store from default to user triggers notification. |
SetExpectPrefChanged(); |
prefs_.Set(name_, *default_value); |
@@ -225,13 +229,13 @@ TEST_F(PrefServiceSetValueTest, SetStringValue) { |
SetExpectPrefChanged(); |
prefs_.Set(name_, *new_value); |
EXPECT_EQ(value_, prefs_.GetString(name_)); |
- |
- prefs_.RemovePrefObserver(name_, &observer_); |
} |
TEST_F(PrefServiceSetValueTest, SetDictionaryValue) { |
prefs_.RegisterDictionaryPref(name_); |
- prefs_.AddPrefObserver(name_, &observer_); |
+ PrefChangeRegistrar registrar; |
+ registrar.Init(&prefs_); |
+ registrar.Add(name_, &observer_); |
// Dictionary values are special: setting one to NULL is the same as clearing |
// the user value, allowing the NULL default to take (or keep) control. |
@@ -259,13 +263,13 @@ TEST_F(PrefServiceSetValueTest, SetDictionaryValue) { |
Mock::VerifyAndClearExpectations(&observer_); |
dict = prefs_.GetMutableDictionary(name_); |
EXPECT_EQ(0U, dict->size()); |
- |
- prefs_.RemovePrefObserver(name_, &observer_); |
} |
TEST_F(PrefServiceSetValueTest, SetListValue) { |
prefs_.RegisterListPref(name_); |
- prefs_.AddPrefObserver(name_, &observer_); |
+ PrefChangeRegistrar registrar; |
+ registrar.Init(&prefs_); |
+ registrar.Add(name_, &observer_); |
// List values are special: setting one to NULL is the same as clearing the |
// user value, allowing the NULL default to take (or keep) control. |
@@ -293,6 +297,4 @@ TEST_F(PrefServiceSetValueTest, SetListValue) { |
Mock::VerifyAndClearExpectations(&observer_); |
list = prefs_.GetMutableList(name_); |
EXPECT_EQ(0U, list->GetSize()); |
- |
- prefs_.RemovePrefObserver(name_, &observer_); |
} |