| Index: chrome/browser/extensions/extension_service.cc
|
| diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
|
| index 9442e65cc7ef42bd1dc9aaeb1dd80b9d90748062..1f9f974f8cafc5dc29b8f010c686a6a054fe5e54 100644
|
| --- a/chrome/browser/extensions/extension_service.cc
|
| +++ b/chrome/browser/extensions/extension_service.cc
|
| @@ -388,8 +388,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) {
|
| @@ -2713,11 +2716,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();
|
| }
|
|
|