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

Unified Diff: components/content_settings/core/browser/content_settings_policy_provider.h

Issue 1865803002: [Policy Experimental] Add policies to allow Cookies and Pop-ups exceptions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync; compile fix in PolicyProvider::GetUserExceptionsUsageSettingForType(). Created 4 years, 8 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: 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_;

Powered by Google App Engine
This is Rietveld 408576698