| Index: components/content_settings/core/browser/content_settings_policy_provider.h
|
| diff --git a/components/content_settings/core/browser/content_settings_policy_provider.h b/components/content_settings/core/browser/content_settings_policy_provider.h
|
| index f2058456a24949fde95f63ec1d912f6c53506d9e..31b14f39a3dc05f202b432869dfe2b89aa16982a 100644
|
| --- a/components/content_settings/core/browser/content_settings_policy_provider.h
|
| +++ b/components/content_settings/core/browser/content_settings_policy_provider.h
|
| @@ -7,12 +7,14 @@
|
|
|
| // A content settings provider that takes its settings out of policies.
|
|
|
| +#include <map>
|
| #include <vector>
|
|
|
| #include "base/macros.h"
|
| #include "base/synchronization/lock.h"
|
| #include "components/content_settings/core/browser/content_settings_observable_provider.h"
|
| #include "components/content_settings/core/browser/content_settings_origin_identifier_value_map.h"
|
| +#include "components/content_settings/core/common/content_settings.h"
|
| #include "components/prefs/pref_change_registrar.h"
|
|
|
| class PrefService;
|
| @@ -46,14 +48,26 @@ class PolicyProvider : public ObservableProvider {
|
|
|
| void ShutdownOnUIThread() override;
|
|
|
| + // Returns whether user to set and use exceptions for |content_type|:
|
| + // USER_EXCEPTIONS_DEFAULT: Allowed only if no policy default is set.
|
| + // USER_EXCEPTIONS_ALLOW: Allowed.
|
| + ContentSettingsUserExceptionsUsage GetUserExceptionsUsageSettingForType(
|
| + ContentSettingsType content_type) const;
|
| +
|
| private:
|
| struct PrefsForManagedDefaultMapEntry;
|
|
|
| + using UserExceptionsUsageSettingsMap =
|
| + std::map<ContentSettingsType, ContentSettingsUserExceptionsUsage>;
|
| +
|
| static const PrefsForManagedDefaultMapEntry kPrefsForManagedDefault[];
|
|
|
| // Reads the policy managed default settings.
|
| void ReadManagedDefaultSettings();
|
|
|
| + // Reads the policy managed settings on user exceptions usage.
|
| + void ReadUserExceptionsUsageSettings();
|
| +
|
| // Callback for preference changes.
|
| void OnPreferenceChanged(const std::string& pref_name);
|
|
|
| @@ -71,6 +85,10 @@ class PolicyProvider : public ObservableProvider {
|
|
|
| OriginIdentifierValueMap value_map_;
|
|
|
| + // Preference exceptions can be explictly enabled or disabled by policy for
|
| + // various content types. Only non-CONTENT_SETTING_DEFAULT values are stored.
|
| + UserExceptionsUsageSettingsMap user_exceptions_usage_settings_map_;
|
| +
|
| PrefService* prefs_;
|
|
|
| PrefChangeRegistrar pref_change_registrar_;
|
|
|