| 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 c1ffe6446c71feaa8794a6eef86b3c9e7acddb36..f25d58fc9f2c437966c598893f1b1a8cbf7ce147 100644
|
| --- a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
|
| +++ b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
|
| @@ -18,6 +18,7 @@
|
| #include "chrome/browser/debugger/devtools_window.h"
|
| #include "chrome/browser/extensions/crx_installer.h"
|
| #include "chrome/browser/extensions/extension_disabled_ui.h"
|
| +#include "chrome/browser/extensions/extension_error_reporter.h"
|
| #include "chrome/browser/extensions/extension_host.h"
|
| #include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/browser/extensions/extension_system.h"
|
| @@ -192,7 +193,9 @@ DictionaryValue* ExtensionSettingsHandler::CreateExtensionDetailValue(
|
| }
|
|
|
| // Add install warnings (these are not the same as warnings!).
|
| - if (extension->location() == Extension::LOAD) {
|
| + if (extension->location() == Extension::LOAD ||
|
| + extension_service_->extension_prefs()->HasUnsupportedRequirements(
|
| + extension->id())) {
|
| const Extension::InstallWarningVector& install_warnings =
|
| extension->install_warnings();
|
| if (!install_warnings.empty()) {
|
| @@ -623,6 +626,11 @@ void ExtensionSettingsHandler::HandleEnableMessage(const ListValue* args) {
|
| web_ui()->GetWebContents());
|
| extensions::ShowExtensionDisabledDialog(
|
| extension_service_, browser, extension);
|
| + } else if (prefs->GetDisableReason(extension_id) ==
|
| + Extension::DISABLE_UNSUPPORTED_REQUIREMENT) {
|
| + ExtensionErrorReporter::GetInstance()->ReportError(
|
| + l10n_util::GetStringUTF16(IDS_EXTENSION_REQUIREMENT_DISABLE),
|
| + true /* be noisy */);
|
| } else {
|
| extension_service_->EnableExtension(extension_id);
|
| }
|
|
|