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