| 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..df99405f295d1d524e9edc98d91dd94628fc94a4 100644
|
| --- a/chrome/browser/extensions/policy_handlers.h
|
| +++ b/chrome/browser/extensions/policy_handlers.h
|
| @@ -49,27 +49,55 @@ 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;
|
| +
|
| 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
|
|
|