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); |
} |