| 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 34e61c4dc9038a696c5199fadb1b2fd00487742e..20e6b3fc28c78ee2ae84cc5f6392652a0eedeb38 100644
|
| --- a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
|
| +++ b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
|
| @@ -173,6 +173,7 @@ ExtensionSettingsHandler::ExtensionSettingsHandler()
|
| error_console_observer_(this),
|
| extension_prefs_observer_(this),
|
| extension_registry_observer_(this),
|
| + extension_management_observer_(this),
|
| should_do_verification_check_(false) {
|
| }
|
|
|
| @@ -192,6 +193,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) {
|
| }
|
|
|
| @@ -751,6 +753,10 @@ void ExtensionSettingsHandler::OnExtensionDisableReasonsChanged(
|
| MaybeUpdateAfterNotification();
|
| }
|
|
|
| +void ExtensionSettingsHandler::OnExtensionManagementSettingsChanged() {
|
| + MaybeUpdateAfterNotification();
|
| +}
|
| +
|
| void ExtensionSettingsHandler::ExtensionUninstallAccepted() {
|
| DCHECK(!extension_id_prompting_.empty());
|
|
|
| @@ -1265,12 +1271,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>
|
|
|