Chromium Code Reviews| Index: chrome/browser/extensions/policy_handlers.h |
| diff --git a/chrome/browser/extensions/policy_handlers.h b/chrome/browser/extensions/policy_handlers.h |
| index cd7e5d99cc722a8c678b4ea9be0ab9ea08e2de6e..5b7db3aff5f35aa39058d0757a45e0efe9462610 100644 |
| --- a/chrome/browser/extensions/policy_handlers.h |
| +++ b/chrome/browser/extensions/policy_handlers.h |
| @@ -49,27 +49,57 @@ class ExtensionListPolicyHandler |
| DISALLOW_COPY_AND_ASSIGN(ExtensionListPolicyHandler); |
| }; |
| -class ExtensionInstallForcelistPolicyHandler |
| +// Base class for parsing the list of extensions to force install. |
| +class ExtensionInstallListPolicyHandler |
| : public policy::TypeCheckingPolicyHandler { |
| public: |
| - ExtensionInstallForcelistPolicyHandler(); |
| - ~ExtensionInstallForcelistPolicyHandler() override; |
| - |
| // ConfigurationPolicyHandler methods: |
| bool CheckPolicySettings(const policy::PolicyMap& policies, |
| policy::PolicyErrorMap* errors) override; |
| void ApplyPolicySettings(const policy::PolicyMap& policies, |
| PrefValueMap* prefs) override; |
| + protected: |
| + ExtensionInstallListPolicyHandler(const char* policy_name, |
| + const char* pref_name); |
| + |
| + ~ExtensionInstallListPolicyHandler() override = default; |
| + |
| + const char* pref_name() const { return pref_name_; } |
|
Devlin
2017/03/03 17:24:48
needed?
achuithb
2017/03/06 15:25:31
Done.
|
| + |
| private: |
| // Parses the data in |policy_value| and writes them to |extension_dict|. |
| bool ParseList(const base::Value* policy_value, |
| base::DictionaryValue* extension_dict, |
| policy::PolicyErrorMap* errors); |
| + const char* const pref_name_ = nullptr; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(ExtensionInstallListPolicyHandler); |
| +}; |
| + |
| +// Parses the extension force install list for user sessions. |
| +class ExtensionInstallForcelistPolicyHandler |
| + : public ExtensionInstallListPolicyHandler { |
| + public: |
| + ExtensionInstallForcelistPolicyHandler(); |
| + ~ExtensionInstallForcelistPolicyHandler() override = default; |
| + |
| + private: |
| DISALLOW_COPY_AND_ASSIGN(ExtensionInstallForcelistPolicyHandler); |
| }; |
| +// Parses the extension force install list for the login profile. |
| +class ExtensionInstallLoginScreenAppListPolicyHandler |
| + : public ExtensionInstallListPolicyHandler { |
| + public: |
| + ExtensionInstallLoginScreenAppListPolicyHandler(); |
| + ~ExtensionInstallLoginScreenAppListPolicyHandler() override = default; |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(ExtensionInstallLoginScreenAppListPolicyHandler); |
| +}; |
| + |
| // Implements additional checks for policies that are lists of extension |
| // URLPatterns. |
| class ExtensionURLPatternListPolicyHandler |