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( |