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

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: Fixed UnpackedInstller issue Created 8 years, 3 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
« no previous file with comments | « chrome/browser/extensions/app_process_apitest.cc ('k') | chrome/browser/extensions/crx_installer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/crx_installer.h
diff --git a/chrome/browser/extensions/crx_installer.h b/chrome/browser/extensions/crx_installer.h
index 5c9a79e8994734b00201f21326f948d852aa9792..e9541dec8204defc135dbc6dfef30595eab22ef2 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_unsupported_requirements(bool val) {
+ error_on_unsupported_requirements_ = val;
+ }
+
bool did_handle_successfully() const { return did_handle_successfully_; }
Profile* profile() { return profile_; }
@@ -199,6 +204,12 @@ class CrxInstaller
// whitelisted.
bool CanSkipConfirmation();
+ // Called on the UI thread to start the requirements check on the extension.
+ void CheckRequirements();
+
+ // Runs on the UI thread. Callback from RequirementsChecker.
+ void OnRequirementsChecked(std::vector<std::string> requirement_errors);
+
// Runs on the UI thread. Confirms with the user (via ExtensionInstallPrompt)
// that it is OK to install this extension.
void ConfirmInstall();
@@ -339,6 +350,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_unsupported_requirements_;
+
+ scoped_ptr<RequirementsChecker> requirements_checker_;
+
+ bool has_requirement_errors_;
+
DISALLOW_COPY_AND_ASSIGN(CrxInstaller);
};
« no previous file with comments | « chrome/browser/extensions/app_process_apitest.cc ('k') | chrome/browser/extensions/crx_installer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698