| Index: chrome/browser/policy/url_blacklist_manager.cc
 | 
| diff --git a/chrome/browser/policy/url_blacklist_manager.cc b/chrome/browser/policy/url_blacklist_manager.cc
 | 
| index d175ebf406f510a388936726a6f7719e271abcea..272e6f14b7b6b2c800d932f50f6422c272d02826 100644
 | 
| --- a/chrome/browser/policy/url_blacklist_manager.cc
 | 
| +++ b/chrome/browser/policy/url_blacklist_manager.cc
 | 
| @@ -278,8 +278,10 @@ URLBlacklistManager::URLBlacklistManager(PrefService* pref_service)
 | 
|    DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
 | 
|  
 | 
|    pref_change_registrar_.Init(pref_service_);
 | 
| -  pref_change_registrar_.Add(prefs::kUrlBlacklist, this);
 | 
| -  pref_change_registrar_.Add(prefs::kUrlWhitelist, this);
 | 
| +  base::Closure callback = base::Bind(&URLBlacklistManager::ScheduleUpdate,
 | 
| +                                      base::Unretained(this));
 | 
| +  pref_change_registrar_.Add(prefs::kUrlBlacklist, callback);
 | 
| +  pref_change_registrar_.Add(prefs::kUrlWhitelist, callback);
 | 
|  
 | 
|    // Start enforcing the policies without a delay when they are present at
 | 
|    // startup.
 | 
| @@ -297,15 +299,6 @@ void URLBlacklistManager::ShutdownOnUIThread() {
 | 
|  URLBlacklistManager::~URLBlacklistManager() {
 | 
|  }
 | 
|  
 | 
| -void URLBlacklistManager::OnPreferenceChanged(PrefServiceBase* prefs,
 | 
| -                                              const std::string& pref_name) {
 | 
| -  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
 | 
| -  DCHECK(prefs == pref_service_);
 | 
| -  DCHECK(pref_name == prefs::kUrlBlacklist ||
 | 
| -         pref_name == prefs::kUrlWhitelist);
 | 
| -  ScheduleUpdate();
 | 
| -}
 | 
| -
 | 
|  void URLBlacklistManager::ScheduleUpdate() {
 | 
|    DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
 | 
|    // Cancel pending updates, if any. This can happen if two preferences that
 | 
| 
 |