Chromium Code Reviews| Index: chrome/browser/extensions/standard_management_policy_provider.cc |
| diff --git a/chrome/browser/extensions/standard_management_policy_provider.cc b/chrome/browser/extensions/standard_management_policy_provider.cc |
| index 0212257468d1e8f6870e3d71511f0ddeb430d3c5..5a91e03bbaafddf4f2c2e00d938c2c790369d469 100644 |
| --- a/chrome/browser/extensions/standard_management_policy_provider.cc |
| +++ b/chrome/browser/extensions/standard_management_policy_provider.cc |
| @@ -132,4 +132,26 @@ bool StandardManagementPolicyProvider::MustRemainEnabled( |
| ExternalComponentLoader::IsModifiable(extension)); |
| } |
| +bool StandardManagementPolicyProvider::MustRemainInstalled( |
| + const Extension* extension, |
| + base::string16* error) const { |
| + if (!UserMayModifySettings(extension, error)) |
| + return true; |
| + ExtensionManagement::InstallationMode mode = |
| + settings_->GetInstallationMode(extension->id()); |
| + // Disallowing removing of recommended extension, to avoid re-install it |
|
Finnur
2014/10/06 14:01:42
nit: s/Disallowing/Disallow/
binjin
2014/10/06 18:48:47
Done.
|
| + // again while policy is reload. But disabling of recommended extension is |
| + // allowed. |
| + if (mode == ExtensionManagement::INSTALLATION_FORCED || |
| + mode == ExtensionManagement::INSTALLATION_RECOMMENDED) { |
| + if (error) { |
| + *error = l10n_util::GetStringFUTF16( |
| + IDS_EXTENSION_CANT_UNINSTALL_POLICY_REQUIRED, |
| + base::UTF8ToUTF16(extension->name())); |
| + } |
| + return true; |
| + } |
| + return false; |
| +} |
| + |
| } // namespace extensions |