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

Side by Side Diff: components/content_settings/core/browser/content_settings_policy_provider.cc

Issue 2536993002: Remove support for the keygen tag (Closed)
Patch Set: Rebased Created 3 years, 12 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/content_settings/core/browser/content_settings_policy_provi der.h" 5 #include "components/content_settings/core/browser/content_settings_policy_provi der.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, CONTENT_SETTING_ALLOW}, 48 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, CONTENT_SETTING_ALLOW},
49 {prefs::kManagedNotificationsBlockedForUrls, 49 {prefs::kManagedNotificationsBlockedForUrls,
50 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, CONTENT_SETTING_BLOCK}, 50 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, CONTENT_SETTING_BLOCK},
51 {prefs::kManagedPluginsAllowedForUrls, CONTENT_SETTINGS_TYPE_PLUGINS, 51 {prefs::kManagedPluginsAllowedForUrls, CONTENT_SETTINGS_TYPE_PLUGINS,
52 CONTENT_SETTING_ALLOW}, 52 CONTENT_SETTING_ALLOW},
53 {prefs::kManagedPluginsBlockedForUrls, CONTENT_SETTINGS_TYPE_PLUGINS, 53 {prefs::kManagedPluginsBlockedForUrls, CONTENT_SETTINGS_TYPE_PLUGINS,
54 CONTENT_SETTING_BLOCK}, 54 CONTENT_SETTING_BLOCK},
55 {prefs::kManagedPopupsAllowedForUrls, CONTENT_SETTINGS_TYPE_POPUPS, 55 {prefs::kManagedPopupsAllowedForUrls, CONTENT_SETTINGS_TYPE_POPUPS,
56 CONTENT_SETTING_ALLOW}, 56 CONTENT_SETTING_ALLOW},
57 {prefs::kManagedPopupsBlockedForUrls, CONTENT_SETTINGS_TYPE_POPUPS, 57 {prefs::kManagedPopupsBlockedForUrls, CONTENT_SETTINGS_TYPE_POPUPS,
58 CONTENT_SETTING_BLOCK}, 58 CONTENT_SETTING_BLOCK}};
59 {prefs::kManagedKeygenAllowedForUrls,
60 CONTENT_SETTINGS_TYPE_KEYGEN, CONTENT_SETTING_ALLOW},
61 {prefs::kManagedKeygenBlockedForUrls,
62 CONTENT_SETTINGS_TYPE_KEYGEN, CONTENT_SETTING_BLOCK}};
63 59
64 } // namespace 60 } // namespace
65 61
66 namespace content_settings { 62 namespace content_settings {
67 63
68 // The preferences used to manage the default policy value for 64 // The preferences used to manage the default policy value for
69 // ContentSettingsTypes. 65 // ContentSettingsTypes.
70 struct PolicyProvider::PrefsForManagedDefaultMapEntry { 66 struct PolicyProvider::PrefsForManagedDefaultMapEntry {
71 ContentSettingsType content_type; 67 ContentSettingsType content_type;
72 const char* pref_name; 68 const char* pref_name;
73 }; 69 };
74 70
75 // static 71 // static
76 const PolicyProvider::PrefsForManagedDefaultMapEntry 72 const PolicyProvider::PrefsForManagedDefaultMapEntry
77 PolicyProvider::kPrefsForManagedDefault[] = { 73 PolicyProvider::kPrefsForManagedDefault[] = {
78 {CONTENT_SETTINGS_TYPE_COOKIES, prefs::kManagedDefaultCookiesSetting}, 74 {CONTENT_SETTINGS_TYPE_COOKIES, prefs::kManagedDefaultCookiesSetting},
79 {CONTENT_SETTINGS_TYPE_IMAGES, prefs::kManagedDefaultImagesSetting}, 75 {CONTENT_SETTINGS_TYPE_IMAGES, prefs::kManagedDefaultImagesSetting},
80 {CONTENT_SETTINGS_TYPE_GEOLOCATION, 76 {CONTENT_SETTINGS_TYPE_GEOLOCATION,
81 prefs::kManagedDefaultGeolocationSetting}, 77 prefs::kManagedDefaultGeolocationSetting},
82 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, 78 {CONTENT_SETTINGS_TYPE_JAVASCRIPT,
83 prefs::kManagedDefaultJavaScriptSetting}, 79 prefs::kManagedDefaultJavaScriptSetting},
84 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, 80 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA,
85 prefs::kManagedDefaultMediaStreamSetting}, 81 prefs::kManagedDefaultMediaStreamSetting},
86 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, 82 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC,
87 prefs::kManagedDefaultMediaStreamSetting}, 83 prefs::kManagedDefaultMediaStreamSetting},
88 {CONTENT_SETTINGS_TYPE_NOTIFICATIONS, 84 {CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
89 prefs::kManagedDefaultNotificationsSetting}, 85 prefs::kManagedDefaultNotificationsSetting},
90 {CONTENT_SETTINGS_TYPE_PLUGINS, prefs::kManagedDefaultPluginsSetting}, 86 {CONTENT_SETTINGS_TYPE_PLUGINS, prefs::kManagedDefaultPluginsSetting},
91 {CONTENT_SETTINGS_TYPE_POPUPS, prefs::kManagedDefaultPopupsSetting}, 87 {CONTENT_SETTINGS_TYPE_POPUPS, prefs::kManagedDefaultPopupsSetting},
92 {CONTENT_SETTINGS_TYPE_KEYGEN, prefs::kManagedDefaultKeygenSetting},
93 {CONTENT_SETTINGS_TYPE_BLUETOOTH_GUARD, 88 {CONTENT_SETTINGS_TYPE_BLUETOOTH_GUARD,
94 prefs::kManagedDefaultWebBluetoothGuardSetting}, 89 prefs::kManagedDefaultWebBluetoothGuardSetting},
95 }; 90 };
96 91
97 // static 92 // static
98 void PolicyProvider::RegisterProfilePrefs( 93 void PolicyProvider::RegisterProfilePrefs(
99 user_prefs::PrefRegistrySyncable* registry) { 94 user_prefs::PrefRegistrySyncable* registry) {
100 registry->RegisterListPref(prefs::kManagedAutoSelectCertificateForUrls); 95 registry->RegisterListPref(prefs::kManagedAutoSelectCertificateForUrls);
101 registry->RegisterListPref(prefs::kManagedCookiesAllowedForUrls); 96 registry->RegisterListPref(prefs::kManagedCookiesAllowedForUrls);
102 registry->RegisterListPref(prefs::kManagedCookiesBlockedForUrls); 97 registry->RegisterListPref(prefs::kManagedCookiesBlockedForUrls);
103 registry->RegisterListPref(prefs::kManagedCookiesSessionOnlyForUrls); 98 registry->RegisterListPref(prefs::kManagedCookiesSessionOnlyForUrls);
104 registry->RegisterListPref(prefs::kManagedImagesAllowedForUrls); 99 registry->RegisterListPref(prefs::kManagedImagesAllowedForUrls);
105 registry->RegisterListPref(prefs::kManagedImagesBlockedForUrls); 100 registry->RegisterListPref(prefs::kManagedImagesBlockedForUrls);
106 registry->RegisterListPref(prefs::kManagedJavaScriptAllowedForUrls); 101 registry->RegisterListPref(prefs::kManagedJavaScriptAllowedForUrls);
107 registry->RegisterListPref(prefs::kManagedJavaScriptBlockedForUrls); 102 registry->RegisterListPref(prefs::kManagedJavaScriptBlockedForUrls);
108 registry->RegisterListPref(prefs::kManagedNotificationsAllowedForUrls); 103 registry->RegisterListPref(prefs::kManagedNotificationsAllowedForUrls);
109 registry->RegisterListPref(prefs::kManagedNotificationsBlockedForUrls); 104 registry->RegisterListPref(prefs::kManagedNotificationsBlockedForUrls);
110 registry->RegisterListPref(prefs::kManagedPluginsAllowedForUrls); 105 registry->RegisterListPref(prefs::kManagedPluginsAllowedForUrls);
111 registry->RegisterListPref(prefs::kManagedPluginsBlockedForUrls); 106 registry->RegisterListPref(prefs::kManagedPluginsBlockedForUrls);
112 registry->RegisterListPref(prefs::kManagedPopupsAllowedForUrls); 107 registry->RegisterListPref(prefs::kManagedPopupsAllowedForUrls);
113 registry->RegisterListPref(prefs::kManagedPopupsBlockedForUrls); 108 registry->RegisterListPref(prefs::kManagedPopupsBlockedForUrls);
114 registry->RegisterListPref(prefs::kManagedKeygenAllowedForUrls);
115 registry->RegisterListPref(prefs::kManagedKeygenBlockedForUrls);
116 // Preferences for default content setting policies. If a policy is not set of 109 // Preferences for default content setting policies. If a policy is not set of
117 // the corresponding preferences below is set to CONTENT_SETTING_DEFAULT. 110 // the corresponding preferences below is set to CONTENT_SETTING_DEFAULT.
118 registry->RegisterIntegerPref(prefs::kManagedDefaultCookiesSetting, 111 registry->RegisterIntegerPref(prefs::kManagedDefaultCookiesSetting,
119 CONTENT_SETTING_DEFAULT); 112 CONTENT_SETTING_DEFAULT);
120 registry->RegisterIntegerPref(prefs::kManagedDefaultGeolocationSetting, 113 registry->RegisterIntegerPref(prefs::kManagedDefaultGeolocationSetting,
121 CONTENT_SETTING_DEFAULT); 114 CONTENT_SETTING_DEFAULT);
122 registry->RegisterIntegerPref(prefs::kManagedDefaultImagesSetting, 115 registry->RegisterIntegerPref(prefs::kManagedDefaultImagesSetting,
123 CONTENT_SETTING_DEFAULT); 116 CONTENT_SETTING_DEFAULT);
124 registry->RegisterIntegerPref(prefs::kManagedDefaultJavaScriptSetting, 117 registry->RegisterIntegerPref(prefs::kManagedDefaultJavaScriptSetting,
125 CONTENT_SETTING_DEFAULT); 118 CONTENT_SETTING_DEFAULT);
126 registry->RegisterIntegerPref(prefs::kManagedDefaultNotificationsSetting, 119 registry->RegisterIntegerPref(prefs::kManagedDefaultNotificationsSetting,
127 CONTENT_SETTING_DEFAULT); 120 CONTENT_SETTING_DEFAULT);
128 registry->RegisterIntegerPref(prefs::kManagedDefaultMediaStreamSetting, 121 registry->RegisterIntegerPref(prefs::kManagedDefaultMediaStreamSetting,
129 CONTENT_SETTING_DEFAULT); 122 CONTENT_SETTING_DEFAULT);
130 registry->RegisterIntegerPref(prefs::kManagedDefaultPluginsSetting, 123 registry->RegisterIntegerPref(prefs::kManagedDefaultPluginsSetting,
131 CONTENT_SETTING_DEFAULT); 124 CONTENT_SETTING_DEFAULT);
132 registry->RegisterIntegerPref(prefs::kManagedDefaultPopupsSetting, 125 registry->RegisterIntegerPref(prefs::kManagedDefaultPopupsSetting,
133 CONTENT_SETTING_DEFAULT); 126 CONTENT_SETTING_DEFAULT);
134 registry->RegisterIntegerPref(prefs::kManagedDefaultKeygenSetting,
135 CONTENT_SETTING_DEFAULT);
136 registry->RegisterIntegerPref(prefs::kManagedDefaultWebBluetoothGuardSetting, 127 registry->RegisterIntegerPref(prefs::kManagedDefaultWebBluetoothGuardSetting,
137 CONTENT_SETTING_DEFAULT); 128 CONTENT_SETTING_DEFAULT);
138 } 129 }
139 130
140 PolicyProvider::PolicyProvider(PrefService* prefs) : prefs_(prefs) { 131 PolicyProvider::PolicyProvider(PrefService* prefs) : prefs_(prefs) {
141 ReadManagedDefaultSettings(); 132 ReadManagedDefaultSettings();
142 ReadManagedContentSettings(false); 133 ReadManagedContentSettings(false);
143 134
144 pref_change_registrar_.Init(prefs_); 135 pref_change_registrar_.Init(prefs_);
145 PrefChangeRegistrar::NamedChangeCallback callback = 136 PrefChangeRegistrar::NamedChangeCallback callback =
146 base::Bind(&PolicyProvider::OnPreferenceChanged, base::Unretained(this)); 137 base::Bind(&PolicyProvider::OnPreferenceChanged, base::Unretained(this));
147 pref_change_registrar_.Add( 138 pref_change_registrar_.Add(
148 prefs::kManagedAutoSelectCertificateForUrls, callback); 139 prefs::kManagedAutoSelectCertificateForUrls, callback);
149 pref_change_registrar_.Add(prefs::kManagedCookiesAllowedForUrls, callback); 140 pref_change_registrar_.Add(prefs::kManagedCookiesAllowedForUrls, callback);
150 pref_change_registrar_.Add(prefs::kManagedCookiesBlockedForUrls, callback); 141 pref_change_registrar_.Add(prefs::kManagedCookiesBlockedForUrls, callback);
151 pref_change_registrar_.Add( 142 pref_change_registrar_.Add(
152 prefs::kManagedCookiesSessionOnlyForUrls, callback); 143 prefs::kManagedCookiesSessionOnlyForUrls, callback);
153 pref_change_registrar_.Add(prefs::kManagedImagesAllowedForUrls, callback); 144 pref_change_registrar_.Add(prefs::kManagedImagesAllowedForUrls, callback);
154 pref_change_registrar_.Add(prefs::kManagedImagesBlockedForUrls, callback); 145 pref_change_registrar_.Add(prefs::kManagedImagesBlockedForUrls, callback);
155 pref_change_registrar_.Add(prefs::kManagedJavaScriptAllowedForUrls, callback); 146 pref_change_registrar_.Add(prefs::kManagedJavaScriptAllowedForUrls, callback);
156 pref_change_registrar_.Add(prefs::kManagedJavaScriptBlockedForUrls, callback); 147 pref_change_registrar_.Add(prefs::kManagedJavaScriptBlockedForUrls, callback);
157 pref_change_registrar_.Add( 148 pref_change_registrar_.Add(
158 prefs::kManagedNotificationsAllowedForUrls, callback); 149 prefs::kManagedNotificationsAllowedForUrls, callback);
159 pref_change_registrar_.Add( 150 pref_change_registrar_.Add(
160 prefs::kManagedNotificationsBlockedForUrls, callback); 151 prefs::kManagedNotificationsBlockedForUrls, callback);
161 pref_change_registrar_.Add(prefs::kManagedPluginsAllowedForUrls, callback); 152 pref_change_registrar_.Add(prefs::kManagedPluginsAllowedForUrls, callback);
162 pref_change_registrar_.Add(prefs::kManagedPluginsBlockedForUrls, callback); 153 pref_change_registrar_.Add(prefs::kManagedPluginsBlockedForUrls, callback);
163 pref_change_registrar_.Add(prefs::kManagedPopupsAllowedForUrls, callback); 154 pref_change_registrar_.Add(prefs::kManagedPopupsAllowedForUrls, callback);
164 pref_change_registrar_.Add(prefs::kManagedPopupsBlockedForUrls, callback); 155 pref_change_registrar_.Add(prefs::kManagedPopupsBlockedForUrls, callback);
165 pref_change_registrar_.Add(prefs::kManagedKeygenAllowedForUrls, callback);
166 pref_change_registrar_.Add(prefs::kManagedKeygenBlockedForUrls, callback);
167 // The following preferences are only used to indicate if a default content 156 // The following preferences are only used to indicate if a default content
168 // setting is managed and to hold the managed default setting value. If the 157 // setting is managed and to hold the managed default setting value. If the
169 // value for any of the following preferences is set then the corresponding 158 // value for any of the following preferences is set then the corresponding
170 // default content setting is managed. These preferences exist in parallel to 159 // default content setting is managed. These preferences exist in parallel to
171 // the preference default content settings. If a default content settings type 160 // the preference default content settings. If a default content settings type
172 // is managed any user defined exceptions (patterns) for this type are 161 // is managed any user defined exceptions (patterns) for this type are
173 // ignored. 162 // ignored.
174 pref_change_registrar_.Add(prefs::kManagedDefaultCookiesSetting, callback); 163 pref_change_registrar_.Add(prefs::kManagedDefaultCookiesSetting, callback);
175 pref_change_registrar_.Add( 164 pref_change_registrar_.Add(
176 prefs::kManagedDefaultGeolocationSetting, callback); 165 prefs::kManagedDefaultGeolocationSetting, callback);
177 pref_change_registrar_.Add(prefs::kManagedDefaultImagesSetting, callback); 166 pref_change_registrar_.Add(prefs::kManagedDefaultImagesSetting, callback);
178 pref_change_registrar_.Add(prefs::kManagedDefaultJavaScriptSetting, callback); 167 pref_change_registrar_.Add(prefs::kManagedDefaultJavaScriptSetting, callback);
179 pref_change_registrar_.Add( 168 pref_change_registrar_.Add(
180 prefs::kManagedDefaultNotificationsSetting, callback); 169 prefs::kManagedDefaultNotificationsSetting, callback);
181 pref_change_registrar_.Add( 170 pref_change_registrar_.Add(
182 prefs::kManagedDefaultMediaStreamSetting, callback); 171 prefs::kManagedDefaultMediaStreamSetting, callback);
183 pref_change_registrar_.Add(prefs::kManagedDefaultPluginsSetting, callback); 172 pref_change_registrar_.Add(prefs::kManagedDefaultPluginsSetting, callback);
184 pref_change_registrar_.Add(prefs::kManagedDefaultPopupsSetting, callback); 173 pref_change_registrar_.Add(prefs::kManagedDefaultPopupsSetting, callback);
185 pref_change_registrar_.Add(prefs::kManagedDefaultKeygenSetting, callback);
186 pref_change_registrar_.Add(prefs::kManagedDefaultWebBluetoothGuardSetting, 174 pref_change_registrar_.Add(prefs::kManagedDefaultWebBluetoothGuardSetting,
187 callback); 175 callback);
188 } 176 }
189 177
190 PolicyProvider::~PolicyProvider() { 178 PolicyProvider::~PolicyProvider() {
191 DCHECK(!prefs_); 179 DCHECK(!prefs_);
192 } 180 }
193 181
194 std::unique_ptr<RuleIterator> PolicyProvider::GetRuleIterator( 182 std::unique_ptr<RuleIterator> PolicyProvider::GetRuleIterator(
195 ContentSettingsType content_type, 183 ContentSettingsType content_type,
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 name == prefs::kManagedCookiesSessionOnlyForUrls || 409 name == prefs::kManagedCookiesSessionOnlyForUrls ||
422 name == prefs::kManagedImagesAllowedForUrls || 410 name == prefs::kManagedImagesAllowedForUrls ||
423 name == prefs::kManagedImagesBlockedForUrls || 411 name == prefs::kManagedImagesBlockedForUrls ||
424 name == prefs::kManagedJavaScriptAllowedForUrls || 412 name == prefs::kManagedJavaScriptAllowedForUrls ||
425 name == prefs::kManagedJavaScriptBlockedForUrls || 413 name == prefs::kManagedJavaScriptBlockedForUrls ||
426 name == prefs::kManagedNotificationsAllowedForUrls || 414 name == prefs::kManagedNotificationsAllowedForUrls ||
427 name == prefs::kManagedNotificationsBlockedForUrls || 415 name == prefs::kManagedNotificationsBlockedForUrls ||
428 name == prefs::kManagedPluginsAllowedForUrls || 416 name == prefs::kManagedPluginsAllowedForUrls ||
429 name == prefs::kManagedPluginsBlockedForUrls || 417 name == prefs::kManagedPluginsBlockedForUrls ||
430 name == prefs::kManagedPopupsAllowedForUrls || 418 name == prefs::kManagedPopupsAllowedForUrls ||
431 name == prefs::kManagedPopupsBlockedForUrls || 419 name == prefs::kManagedPopupsBlockedForUrls) {
432 name == prefs::kManagedKeygenAllowedForUrls ||
433 name == prefs::kManagedKeygenBlockedForUrls) {
434 ReadManagedContentSettings(true); 420 ReadManagedContentSettings(true);
435 ReadManagedDefaultSettings(); 421 ReadManagedDefaultSettings();
436 } 422 }
437 423
438 NotifyObservers(ContentSettingsPattern(), 424 NotifyObservers(ContentSettingsPattern(),
439 ContentSettingsPattern(), 425 ContentSettingsPattern(),
440 CONTENT_SETTINGS_TYPE_DEFAULT, 426 CONTENT_SETTINGS_TYPE_DEFAULT,
441 std::string()); 427 std::string());
442 } 428 }
443 429
444 } // namespace content_settings 430 } // namespace content_settings
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698