| Index: chrome/installer/util/installation_validator.h
|
| diff --git a/chrome/installer/util/installation_validator.h b/chrome/installer/util/installation_validator.h
|
| index ee8cc1c86fee3a419fafbe09d9315e010a927135..f19de64df524def5895762c589cf65d1d1067b0e 100644
|
| --- a/chrome/installer/util/installation_validator.h
|
| +++ b/chrome/installer/util/installation_validator.h
|
| @@ -36,6 +36,7 @@ class InstallationValidator {
|
| CHROME_FRAME_SINGLE = 0x04,
|
| CHROME_FRAME_MULTI = 0x08,
|
| CHROME_FRAME_READY_MODE = 0x10,
|
| + CHROME_APP_HOST = 0x20,
|
| };
|
| }; // class ProductBits
|
|
|
| @@ -58,6 +59,23 @@ class InstallationValidator {
|
| ProductBits::CHROME_FRAME_MULTI | ProductBits::CHROME_MULTI,
|
| CHROME_FRAME_READY_MODE_CHROME_MULTI =
|
| ProductBits::CHROME_FRAME_READY_MODE | ProductBits::CHROME_MULTI,
|
| + CHROME_APP_HOST =
|
| + ProductBits::CHROME_APP_HOST,
|
| + CHROME_APP_HOST_CHROME_FRAME_SINGLE =
|
| + ProductBits::CHROME_APP_HOST | ProductBits::CHROME_FRAME_SINGLE,
|
| + CHROME_APP_HOST_CHROME_FRAME_SINGLE_CHROME_MULTI =
|
| + ProductBits::CHROME_APP_HOST | ProductBits::CHROME_FRAME_SINGLE |
|
| + ProductBits::CHROME_MULTI,
|
| + CHROME_APP_HOST_CHROME_FRAME_MULTI =
|
| + ProductBits::CHROME_APP_HOST | ProductBits::CHROME_FRAME_MULTI,
|
| + CHROME_APP_HOST_CHROME_FRAME_MULTI_CHROME_MULTI =
|
| + ProductBits::CHROME_APP_HOST | ProductBits::CHROME_FRAME_MULTI |
|
| + ProductBits::CHROME_MULTI,
|
| + CHROME_APP_HOST_CHROME_MULTI =
|
| + ProductBits::CHROME_APP_HOST | ProductBits::CHROME_MULTI,
|
| + CHROME_APP_HOST_CHROME_MULTI_CHROME_FRAME_READY_MODE =
|
| + ProductBits::CHROME_APP_HOST | ProductBits::CHROME_MULTI |
|
| + ProductBits::CHROME_FRAME_READY_MODE,
|
| };
|
|
|
| // Validates |machine_state| at user or system level, returning true if valid.
|
| @@ -136,6 +154,24 @@ class InstallationValidator {
|
| const ProductState& product_state) const OVERRIDE;
|
| };
|
|
|
| + // Validation rules for Chrome App Host.
|
| + class ChromeAppHostRules : public ProductRules {
|
| + public:
|
| + virtual BrowserDistribution::Type distribution_type() const OVERRIDE;
|
| + virtual void AddUninstallSwitchExpectations(
|
| + const InstallationState& machine_state,
|
| + bool system_install,
|
| + const ProductState& product_state,
|
| + SwitchExpectations* expectations) const OVERRIDE;
|
| + virtual void AddRenameSwitchExpectations(
|
| + const InstallationState& machine_state,
|
| + bool system_install,
|
| + const ProductState& product_state,
|
| + SwitchExpectations* expectations) const OVERRIDE;
|
| + virtual bool UsageStatsAllowed(
|
| + const ProductState& product_state) const OVERRIDE;
|
| + };
|
| +
|
| // Validation rules for the multi-install Chrome binaries.
|
| class ChromeBinariesRules : public ProductRules {
|
| public:
|
| @@ -162,9 +198,17 @@ class InstallationValidator {
|
| const ProductRules& rules;
|
| };
|
|
|
| + static void ValidateInstallAppCommand(const ProductContext& ctx,
|
| + const AppCommand& command,
|
| + bool* is_valid);
|
| static void ValidateQuickEnableCfCommand(const ProductContext& ctx,
|
| const AppCommand& command,
|
| bool* is_valid);
|
| + static void ValidateQuickEnableApplicationHostCommand(
|
| + const ProductContext& ctx,
|
| + const AppCommand& command,
|
| + bool* is_valid);
|
| +
|
| static void ValidateAppCommandExpectations(
|
| const ProductContext& ctx,
|
| const CommandExpectations& expectations,
|
|
|