Index: chrome/browser/ui/webui/extensions/extension_settings_handler.cc |
diff --git a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc |
index 6b05504d05c6ae629a58219bc967fdd244624975..9e521842259bd4950e00469a94e5e32636771aa7 100644 |
--- a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc |
+++ b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc |
@@ -172,6 +172,7 @@ ExtensionSettingsHandler::ExtensionSettingsHandler() |
error_console_observer_(this), |
extension_prefs_observer_(this), |
extension_registry_observer_(this), |
+ extension_management_observer_(this), |
should_do_verification_check_(false) { |
} |
@@ -191,6 +192,7 @@ ExtensionSettingsHandler::ExtensionSettingsHandler(ExtensionService* service, |
error_console_observer_(this), |
extension_prefs_observer_(this), |
extension_registry_observer_(this), |
+ extension_management_observer_(this), |
should_do_verification_check_(false) { |
} |
@@ -748,6 +750,10 @@ void ExtensionSettingsHandler::OnExtensionDisableReasonsChanged( |
MaybeUpdateAfterNotification(); |
} |
+void ExtensionSettingsHandler::OnExtensionManagementSettingsChanged() { |
+ MaybeUpdateAfterNotification(); |
+} |
+ |
void ExtensionSettingsHandler::ExtensionUninstallAccepted() { |
DCHECK(!extension_id_prompting_.empty()); |
@@ -1266,12 +1272,8 @@ void ExtensionSettingsHandler::MaybeRegisterForNotifications() { |
error_console_observer_.Add(ErrorConsole::Get(profile)); |
- base::Closure callback = base::Bind( |
- &ExtensionSettingsHandler::MaybeUpdateAfterNotification, |
- AsWeakPtr()); |
- |
- pref_registrar_.Init(profile->GetPrefs()); |
- pref_registrar_.Add(pref_names::kInstallDenyList, callback); |
+ extension_management_observer_.Add( |
+ ExtensionManagementFactory::GetForBrowserContext(profile)); |
} |
std::vector<ExtensionPage> |