Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3408)

Unified Diff: chrome/browser/ui/webui/extensions/extension_settings_handler.cc

Issue 10689097: Enforce the 'requirements' field in manifests. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698