| Index: chrome/browser/extensions/extension_service.cc
 | 
| diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
 | 
| index 52147fc5eeae2872019bda05cb9c0bce76dc62af..20888a22d66dedd8db373c95f9c39da607be6952 100644
 | 
| --- a/chrome/browser/extensions/extension_service.cc
 | 
| +++ b/chrome/browser/extensions/extension_service.cc
 | 
| @@ -387,8 +387,11 @@ ExtensionService::ExtensionService(Profile* profile,
 | 
|    registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_DESTROYED,
 | 
|                   content::NotificationService::AllBrowserContextsAndSources());
 | 
|    pref_change_registrar_.Init(profile->GetPrefs());
 | 
| -  pref_change_registrar_.Add(prefs::kExtensionInstallAllowList, this);
 | 
| -  pref_change_registrar_.Add(prefs::kExtensionInstallDenyList, this);
 | 
| +  base::Closure callback =
 | 
| +      base::Bind(&ExtensionService::OnExtensionInstallPrefChanged,
 | 
| +                 base::Unretained(this));
 | 
| +  pref_change_registrar_.Add(prefs::kExtensionInstallAllowList, callback);
 | 
| +  pref_change_registrar_.Add(prefs::kExtensionInstallDenyList, callback);
 | 
|  
 | 
|    // Set up the ExtensionUpdater
 | 
|    if (autoupdate_enabled) {
 | 
| @@ -2710,11 +2713,7 @@ void ExtensionService::Observe(int type,
 | 
|    }
 | 
|  }
 | 
|  
 | 
| -void ExtensionService::OnPreferenceChanged(PrefServiceBase* service,
 | 
| -                                           const std::string& pref_name) {
 | 
| -  DCHECK(pref_name == prefs::kExtensionInstallAllowList ||
 | 
| -         pref_name == prefs::kExtensionInstallDenyList)
 | 
| -      << "Unexpected preference name " << pref_name;
 | 
| +void ExtensionService::OnExtensionInstallPrefChanged() {
 | 
|    IdentifyAlertableExtensions();
 | 
|    CheckManagementPolicy();
 | 
|  }
 | 
| 
 |