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

Unified Diff: chrome/browser/extensions/policy_handlers.cc

Issue 2150483004: Plumbing for login apps device policy to extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 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
Index: chrome/browser/extensions/policy_handlers.cc
diff --git a/chrome/browser/extensions/policy_handlers.cc b/chrome/browser/extensions/policy_handlers.cc
index 44c6eb9d6ab3023398e8ea80617b58fd8e1fd051..24f61ab8cc2a6026bb50294ccc76cfbd16428f8d 100644
--- a/chrome/browser/extensions/policy_handlers.cc
+++ b/chrome/browser/extensions/policy_handlers.cc
@@ -100,43 +100,43 @@ bool ExtensionListPolicyHandler::CheckAndGetList(
return true;
}
-// ExtensionInstallForcelistPolicyHandler implementation -----------------------
+// ExtensionInstallListPolicyHandler implementation ----------------------------
-ExtensionInstallForcelistPolicyHandler::ExtensionInstallForcelistPolicyHandler()
- : policy::TypeCheckingPolicyHandler(policy::key::kExtensionInstallForcelist,
- base::Value::TYPE_LIST) {}
+ExtensionInstallListPolicyHandler::ExtensionInstallListPolicyHandler(
+ const char* policy_name,
+ const char* pref_name)
+ : policy::TypeCheckingPolicyHandler(policy_name, base::Value::TYPE_LIST),
+ pref_name_(pref_name) {}
-ExtensionInstallForcelistPolicyHandler::
- ~ExtensionInstallForcelistPolicyHandler() {}
+ExtensionInstallListPolicyHandler::~ExtensionInstallListPolicyHandler() {}
-bool ExtensionInstallForcelistPolicyHandler::CheckPolicySettings(
+bool ExtensionInstallListPolicyHandler::CheckPolicySettings(
const policy::PolicyMap& policies,
policy::PolicyErrorMap* errors) {
const base::Value* value;
return CheckAndGetValue(policies, errors, &value) &&
- ParseList(value, NULL, errors);
+ ParseList(value, nullptr, errors);
}
-void ExtensionInstallForcelistPolicyHandler::ApplyPolicySettings(
+void ExtensionInstallListPolicyHandler::ApplyPolicySettings(
const policy::PolicyMap& policies,
PrefValueMap* prefs) {
- const base::Value* value = NULL;
+ const base::Value* value = nullptr;
std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
- if (CheckAndGetValue(policies, NULL, &value) &&
- value &&
- ParseList(value, dict.get(), NULL)) {
- prefs->SetValue(pref_names::kInstallForceList, std::move(dict));
+ if (CheckAndGetValue(policies, nullptr, &value) && value &&
+ ParseList(value, dict.get(), nullptr)) {
+ prefs->SetValue(pref_name(), std::move(dict));
}
}
-bool ExtensionInstallForcelistPolicyHandler::ParseList(
+bool ExtensionInstallListPolicyHandler::ParseList(
const base::Value* policy_value,
base::DictionaryValue* extension_dict,
policy::PolicyErrorMap* errors) {
if (!policy_value)
return true;
- const base::ListValue* policy_list_value = NULL;
+ const base::ListValue* policy_list_value = nullptr;
if (!policy_value->GetAsList(&policy_list_value)) {
// This should have been caught in CheckPolicySettings.
NOTREACHED();
@@ -169,8 +169,8 @@ bool ExtensionInstallForcelistPolicyHandler::ParseList(
continue;
}
- std::string extension_id = entry_string.substr(0, pos);
- std::string update_url = entry_string.substr(pos+1);
+ const std::string extension_id = entry_string.substr(0, pos);
+ const std::string update_url = entry_string.substr(pos + 1);
if (!crx_file::id_util::IdIsValid(extension_id) ||
!GURL(update_url).is_valid()) {
if (errors) {
@@ -182,14 +182,33 @@ bool ExtensionInstallForcelistPolicyHandler::ParseList(
}
if (extension_dict) {
- extensions::ExternalPolicyLoader::AddExtension(
- extension_dict, extension_id, update_url);
+ ExternalPolicyLoader::AddExtension(extension_dict, extension_id,
+ update_url);
+ VLOG(1) << "ParseList ext=" << extension_id << ", url=" << update_url;
}
}
return true;
}
+// ExtensionInstallForcelistPolicyHandler implementation -----------------------
+
+ExtensionInstallForcelistPolicyHandler::ExtensionInstallForcelistPolicyHandler()
+ : ExtensionInstallListPolicyHandler(policy::key::kExtensionInstallForcelist,
+ pref_names::kInstallForceList) {}
+
+ExtensionInstallForcelistPolicyHandler::
+ ~ExtensionInstallForcelistPolicyHandler() {}
+
+// ExtensionInstallLoginlistPolicyHandler implementation -----------------------
+
+ExtensionInstallLoginlistPolicyHandler::ExtensionInstallLoginlistPolicyHandler()
+ : ExtensionInstallListPolicyHandler(policy::key::kLoginApps,
+ pref_names::kInstallLoginList) {}
+
+ExtensionInstallLoginlistPolicyHandler::
+ ~ExtensionInstallLoginlistPolicyHandler() {}
+
// ExtensionURLPatternListPolicyHandler implementation -------------------------
ExtensionURLPatternListPolicyHandler::ExtensionURLPatternListPolicyHandler(
« no previous file with comments | « chrome/browser/extensions/policy_handlers.h ('k') | chrome/browser/policy/configuration_policy_handler_list_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698