| 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>
|
|
|