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

Unified Diff: extensions/browser/management_policy.cc

Issue 384423002: [Canceled] Extensions: Add install_flags parameter to ManagementPolicy::UserMayLoad (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update tests Created 6 years, 5 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 | « extensions/browser/management_policy.h ('k') | extensions/browser/management_policy_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/management_policy.cc
diff --git a/extensions/browser/management_policy.cc b/extensions/browser/management_policy.cc
index 50183d04884cd5596df851ad43c7f58a5aaaf90b..2b107524509b4092be9b02160ca42290109d4712 100644
--- a/extensions/browser/management_policy.cc
+++ b/extensions/browser/management_policy.cc
@@ -25,6 +25,7 @@ ManagementPolicy::~ManagementPolicy() {
}
bool ManagementPolicy::Provider::UserMayLoad(const Extension* extension,
+ int install_flags,
base::string16* error) const {
return true;
}
@@ -56,9 +57,18 @@ void ManagementPolicy::UnregisterProvider(Provider* provider) {
}
bool ManagementPolicy::UserMayLoad(const Extension* extension,
+ int install_flags,
base::string16* error) const {
- return ApplyToProviderList(&Provider::UserMayLoad, "Installation",
- true, extension, error);
+ for (ProviderList::const_iterator it = providers_.begin();
+ it != providers_.end();
+ ++it) {
+ const Provider* provider = *it;
+ if (!provider->UserMayLoad(extension, install_flags, error)) {
+ LogProhibitedOperation("Installation", extension, provider);
+ return false;
+ }
+ }
+ return true;
}
bool ManagementPolicy::UserMayModifySettings(const Extension* extension,
@@ -102,16 +112,22 @@ bool ManagementPolicy::ApplyToProviderList(ProviderFunction function,
const Provider* provider = *it;
bool result = (provider->*function)(extension, error);
if (result != normal_result) {
- std::string id;
- std::string name;
- GetExtensionNameAndId(extension, &name, &id);
- DVLOG(1) << debug_operation_name << " of extension " << name
- << " (" << id << ")"
- << " prohibited by " << provider->GetDebugPolicyProviderName();
+ LogProhibitedOperation(debug_operation_name, extension, provider);
return !normal_result;
}
}
return normal_result;
}
+void ManagementPolicy::LogProhibitedOperation(const char* debug_operation_name,
+ const Extension* extension,
+ const Provider* provider) const {
+ std::string id;
+ std::string name;
+ GetExtensionNameAndId(extension, &name, &id);
+ DVLOG(1) << debug_operation_name << " of extension " << name
+ << " (" << id << ")"
+ << " prohibited by " << provider->GetDebugPolicyProviderName();
+}
+
} // namespace extensions
« no previous file with comments | « extensions/browser/management_policy.h ('k') | extensions/browser/management_policy_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698