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

Unified Diff: chrome/browser/extensions/crx_installer.h

Issue 10689097: Enforce the 'requirements' field in manifests. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Conforming to the doc 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/extensions/crx_installer.h
diff --git a/chrome/browser/extensions/crx_installer.h b/chrome/browser/extensions/crx_installer.h
index 1cad3601bc61cfb936cb19036510cc23d3db9082..95bb3e5491c80f7a241a09ec88fb9a9588e271fd 100644
--- a/chrome/browser/extensions/crx_installer.h
+++ b/chrome/browser/extensions/crx_installer.h
@@ -25,6 +25,7 @@ class SkBitmap;
namespace extensions {
class ExtensionUpdaterTest;
+class RequirementsChecker;
// This class installs a crx file into a profile.
//
@@ -165,6 +166,10 @@ class CrxInstaller
page_ordinal_ = page_ordinal;
}
+ void set_error_on_unsported_requirements(bool val) {
+ error_on_unsported_requirements_ = val;
+ }
+
bool did_handle_successfully() const { return did_handle_successfully_; }
Profile* profile() { return profile_; }
@@ -199,6 +204,9 @@ class CrxInstaller
// whitelisted.
bool CanSkipConfirmation();
+ // Runs on the FILE thread. Callback from RequirementsChecker.
+ void RequirementsChecked(std::vector<std::string> errors);
+
// Runs on the UI thread. Confirms with the user (via ExtensionInstallPrompt)
// that it is OK to install this extension.
void ConfirmInstall();
@@ -339,6 +347,15 @@ class CrxInstaller
// Whether we should record an oauth2 grant upon successful install.
bool record_oauth2_grant_;
+ // Whether we should produce an error if the manifest declares requirements
+ // that are not met. If false and there is an unmet requirement, the install
+ // will continue but the extension will be distabled.
+ bool error_on_unsported_requirements_;
+
+ scoped_ptr<RequirementsChecker> requirements_checker_;
+
+ std::vector<std::string> requirement_errors_;
+
DISALLOW_COPY_AND_ASSIGN(CrxInstaller);
};

Powered by Google App Engine
This is Rietveld 408576698