Index: chrome/browser/extensions/extension_management.cc |
diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc |
index abb4d90d6542f941df4e04b00cee67a25fb26390..7a214d96e87990c063553ad15e5bded37831ac7a 100644 |
--- a/chrome/browser/extensions/extension_management.cc |
+++ b/chrome/browser/extensions/extension_management.cc |
@@ -8,6 +8,7 @@ |
#include "base/bind_helpers.h" |
#include "base/logging.h" |
#include "base/prefs/pref_service.h" |
+#include "chrome/browser/extensions/external_policy_loader.h" |
#include "chrome/browser/extensions/external_provider_impl.h" |
#include "chrome/browser/extensions/standard_management_policy_provider.h" |
#include "chrome/browser/profiles/profile.h" |
@@ -74,6 +75,24 @@ bool ExtensionManagement::BlacklistedByDefault() { |
return default_settings_.installation_mode == INSTALLATION_BLOCKED; |
} |
+scoped_ptr<base::DictionaryValue> ExtensionManagement::GetForceInstallList() |
+ const { |
+ scoped_ptr<base::DictionaryValue> forcelist(new base::DictionaryValue()); |
+ for (SettingsIdMap::const_iterator it = settings_by_id_.begin(); |
+ it != settings_by_id_.end(); |
+ ++it) { |
+ if (it->second.installation_mode == INSTALLATION_FORCED) { |
+ ExternalPolicyLoader::AddExtension( |
+ forcelist.get(), it->first, it->second.update_url); |
+ } |
+ } |
+ return forcelist.Pass(); |
+} |
+ |
+bool ExtensionManagement::IsInstallationAllowed(const ExtensionId& id) const { |
+ return ReadById(id).installation_mode != INSTALLATION_BLOCKED; |
+} |
+ |
const ExtensionManagement::IndividualSettings& ExtensionManagement::ReadById( |
const ExtensionId& id) const { |
DCHECK(crx_file::id_util::IdIsValid(id)) << "Invalid ID: " << id; |