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

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

Issue 1417173010: Adding <keygen> Content Setting (core) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removing test_runner. Created 5 years, 1 month 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 <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 23 matching lines...) Expand all
34 {prefs::kManagedCookiesSessionOnlyForUrls, 34 {prefs::kManagedCookiesSessionOnlyForUrls,
35 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_SESSION_ONLY}, 35 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_SESSION_ONLY},
36 {prefs::kManagedImagesAllowedForUrls, CONTENT_SETTINGS_TYPE_IMAGES, 36 {prefs::kManagedImagesAllowedForUrls, CONTENT_SETTINGS_TYPE_IMAGES,
37 CONTENT_SETTING_ALLOW}, 37 CONTENT_SETTING_ALLOW},
38 {prefs::kManagedImagesBlockedForUrls, CONTENT_SETTINGS_TYPE_IMAGES, 38 {prefs::kManagedImagesBlockedForUrls, CONTENT_SETTINGS_TYPE_IMAGES,
39 CONTENT_SETTING_BLOCK}, 39 CONTENT_SETTING_BLOCK},
40 {prefs::kManagedJavaScriptAllowedForUrls, 40 {prefs::kManagedJavaScriptAllowedForUrls,
41 CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_ALLOW}, 41 CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_ALLOW},
42 {prefs::kManagedJavaScriptBlockedForUrls, 42 {prefs::kManagedJavaScriptBlockedForUrls,
43 CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_BLOCK}, 43 CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_BLOCK},
44 {prefs::kManagedKeygenAllowedForUrls,
45 CONTENT_SETTINGS_TYPE_KEYGEN, CONTENT_SETTING_ALLOW},
raymes 2015/11/05 03:15:47 Do we really want to add enterprise management for
Ryan Sleevi 2015/11/05 03:27:47 Forwarded thread. Internal enterprise use is the k
46 {prefs::kManagedKeygenBlockedForUrls,
47 CONTENT_SETTINGS_TYPE_KEYGEN, CONTENT_SETTING_BLOCK},
44 {prefs::kManagedNotificationsAllowedForUrls, 48 {prefs::kManagedNotificationsAllowedForUrls,
45 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, CONTENT_SETTING_ALLOW}, 49 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, CONTENT_SETTING_ALLOW},
46 {prefs::kManagedNotificationsBlockedForUrls, 50 {prefs::kManagedNotificationsBlockedForUrls,
47 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, CONTENT_SETTING_BLOCK}, 51 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, CONTENT_SETTING_BLOCK},
48 {prefs::kManagedPluginsAllowedForUrls, CONTENT_SETTINGS_TYPE_PLUGINS, 52 {prefs::kManagedPluginsAllowedForUrls, CONTENT_SETTINGS_TYPE_PLUGINS,
49 CONTENT_SETTING_ALLOW}, 53 CONTENT_SETTING_ALLOW},
50 {prefs::kManagedPluginsBlockedForUrls, CONTENT_SETTINGS_TYPE_PLUGINS, 54 {prefs::kManagedPluginsBlockedForUrls, CONTENT_SETTINGS_TYPE_PLUGINS,
51 CONTENT_SETTING_BLOCK}, 55 CONTENT_SETTING_BLOCK},
52 {prefs::kManagedPopupsAllowedForUrls, CONTENT_SETTINGS_TYPE_POPUPS, 56 {prefs::kManagedPopupsAllowedForUrls, CONTENT_SETTINGS_TYPE_POPUPS,
53 CONTENT_SETTING_ALLOW}, 57 CONTENT_SETTING_ALLOW},
(...skipping 13 matching lines...) Expand all
67 71
68 // static 72 // static
69 const PolicyProvider::PrefsForManagedDefaultMapEntry 73 const PolicyProvider::PrefsForManagedDefaultMapEntry
70 PolicyProvider::kPrefsForManagedDefault[] = { 74 PolicyProvider::kPrefsForManagedDefault[] = {
71 {CONTENT_SETTINGS_TYPE_COOKIES, prefs::kManagedDefaultCookiesSetting}, 75 {CONTENT_SETTINGS_TYPE_COOKIES, prefs::kManagedDefaultCookiesSetting},
72 {CONTENT_SETTINGS_TYPE_IMAGES, prefs::kManagedDefaultImagesSetting}, 76 {CONTENT_SETTINGS_TYPE_IMAGES, prefs::kManagedDefaultImagesSetting},
73 {CONTENT_SETTINGS_TYPE_GEOLOCATION, 77 {CONTENT_SETTINGS_TYPE_GEOLOCATION,
74 prefs::kManagedDefaultGeolocationSetting}, 78 prefs::kManagedDefaultGeolocationSetting},
75 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, 79 {CONTENT_SETTINGS_TYPE_JAVASCRIPT,
76 prefs::kManagedDefaultJavaScriptSetting}, 80 prefs::kManagedDefaultJavaScriptSetting},
81 {CONTENT_SETTINGS_TYPE_KEYGEN,
82 prefs::kManagedDefaultKeygenSetting},
77 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, 83 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA,
78 prefs::kManagedDefaultMediaStreamSetting}, 84 prefs::kManagedDefaultMediaStreamSetting},
79 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, 85 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC,
80 prefs::kManagedDefaultMediaStreamSetting}, 86 prefs::kManagedDefaultMediaStreamSetting},
81 {CONTENT_SETTINGS_TYPE_NOTIFICATIONS, 87 {CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
82 prefs::kManagedDefaultNotificationsSetting}, 88 prefs::kManagedDefaultNotificationsSetting},
83 {CONTENT_SETTINGS_TYPE_PLUGINS, prefs::kManagedDefaultPluginsSetting}, 89 {CONTENT_SETTINGS_TYPE_PLUGINS, prefs::kManagedDefaultPluginsSetting},
84 {CONTENT_SETTINGS_TYPE_POPUPS, prefs::kManagedDefaultPopupsSetting}, 90 {CONTENT_SETTINGS_TYPE_POPUPS, prefs::kManagedDefaultPopupsSetting},
85 }; 91 };
86 92
87 // static 93 // static
88 void PolicyProvider::RegisterProfilePrefs( 94 void PolicyProvider::RegisterProfilePrefs(
89 user_prefs::PrefRegistrySyncable* registry) { 95 user_prefs::PrefRegistrySyncable* registry) {
90 registry->RegisterListPref(prefs::kManagedAutoSelectCertificateForUrls); 96 registry->RegisterListPref(prefs::kManagedAutoSelectCertificateForUrls);
91 registry->RegisterListPref(prefs::kManagedCookiesAllowedForUrls); 97 registry->RegisterListPref(prefs::kManagedCookiesAllowedForUrls);
92 registry->RegisterListPref(prefs::kManagedCookiesBlockedForUrls); 98 registry->RegisterListPref(prefs::kManagedCookiesBlockedForUrls);
93 registry->RegisterListPref(prefs::kManagedCookiesSessionOnlyForUrls); 99 registry->RegisterListPref(prefs::kManagedCookiesSessionOnlyForUrls);
94 registry->RegisterListPref(prefs::kManagedImagesAllowedForUrls); 100 registry->RegisterListPref(prefs::kManagedImagesAllowedForUrls);
95 registry->RegisterListPref(prefs::kManagedImagesBlockedForUrls); 101 registry->RegisterListPref(prefs::kManagedImagesBlockedForUrls);
96 registry->RegisterListPref(prefs::kManagedJavaScriptAllowedForUrls); 102 registry->RegisterListPref(prefs::kManagedJavaScriptAllowedForUrls);
97 registry->RegisterListPref(prefs::kManagedJavaScriptBlockedForUrls); 103 registry->RegisterListPref(prefs::kManagedJavaScriptBlockedForUrls);
104 registry->RegisterListPref(prefs::kManagedKeygenAllowedForUrls);
105 registry->RegisterListPref(prefs::kManagedKeygenBlockedForUrls);
98 registry->RegisterListPref(prefs::kManagedNotificationsAllowedForUrls); 106 registry->RegisterListPref(prefs::kManagedNotificationsAllowedForUrls);
99 registry->RegisterListPref(prefs::kManagedNotificationsBlockedForUrls); 107 registry->RegisterListPref(prefs::kManagedNotificationsBlockedForUrls);
100 registry->RegisterListPref(prefs::kManagedPluginsAllowedForUrls); 108 registry->RegisterListPref(prefs::kManagedPluginsAllowedForUrls);
101 registry->RegisterListPref(prefs::kManagedPluginsBlockedForUrls); 109 registry->RegisterListPref(prefs::kManagedPluginsBlockedForUrls);
102 registry->RegisterListPref(prefs::kManagedPopupsAllowedForUrls); 110 registry->RegisterListPref(prefs::kManagedPopupsAllowedForUrls);
103 registry->RegisterListPref(prefs::kManagedPopupsBlockedForUrls); 111 registry->RegisterListPref(prefs::kManagedPopupsBlockedForUrls);
104 // Preferences for default content setting policies. If a policy is not set of 112 // Preferences for default content setting policies. If a policy is not set of
105 // the corresponding preferences below is set to CONTENT_SETTING_DEFAULT. 113 // the corresponding preferences below is set to CONTENT_SETTING_DEFAULT.
106 registry->RegisterIntegerPref(prefs::kManagedDefaultCookiesSetting, 114 registry->RegisterIntegerPref(prefs::kManagedDefaultCookiesSetting,
107 CONTENT_SETTING_DEFAULT); 115 CONTENT_SETTING_DEFAULT);
108 registry->RegisterIntegerPref(prefs::kManagedDefaultGeolocationSetting, 116 registry->RegisterIntegerPref(prefs::kManagedDefaultGeolocationSetting,
109 CONTENT_SETTING_DEFAULT); 117 CONTENT_SETTING_DEFAULT);
110 registry->RegisterIntegerPref(prefs::kManagedDefaultImagesSetting, 118 registry->RegisterIntegerPref(prefs::kManagedDefaultImagesSetting,
111 CONTENT_SETTING_DEFAULT); 119 CONTENT_SETTING_DEFAULT);
112 registry->RegisterIntegerPref(prefs::kManagedDefaultJavaScriptSetting, 120 registry->RegisterIntegerPref(prefs::kManagedDefaultJavaScriptSetting,
113 CONTENT_SETTING_DEFAULT); 121 CONTENT_SETTING_DEFAULT);
122 registry->RegisterIntegerPref(prefs::kManagedDefaultKeygenSetting,
123 CONTENT_SETTING_DEFAULT);
114 registry->RegisterIntegerPref(prefs::kManagedDefaultNotificationsSetting, 124 registry->RegisterIntegerPref(prefs::kManagedDefaultNotificationsSetting,
115 CONTENT_SETTING_DEFAULT); 125 CONTENT_SETTING_DEFAULT);
116 registry->RegisterIntegerPref(prefs::kManagedDefaultMediaStreamSetting, 126 registry->RegisterIntegerPref(prefs::kManagedDefaultMediaStreamSetting,
117 CONTENT_SETTING_DEFAULT); 127 CONTENT_SETTING_DEFAULT);
118 registry->RegisterIntegerPref(prefs::kManagedDefaultPluginsSetting, 128 registry->RegisterIntegerPref(prefs::kManagedDefaultPluginsSetting,
119 CONTENT_SETTING_DEFAULT); 129 CONTENT_SETTING_DEFAULT);
120 registry->RegisterIntegerPref(prefs::kManagedDefaultPopupsSetting, 130 registry->RegisterIntegerPref(prefs::kManagedDefaultPopupsSetting,
121 CONTENT_SETTING_DEFAULT); 131 CONTENT_SETTING_DEFAULT);
122 } 132 }
123 133
124 PolicyProvider::PolicyProvider(PrefService* prefs) : prefs_(prefs) { 134 PolicyProvider::PolicyProvider(PrefService* prefs) : prefs_(prefs) {
125 ReadManagedDefaultSettings(); 135 ReadManagedDefaultSettings();
126 ReadManagedContentSettings(false); 136 ReadManagedContentSettings(false);
127 137
128 pref_change_registrar_.Init(prefs_); 138 pref_change_registrar_.Init(prefs_);
129 PrefChangeRegistrar::NamedChangeCallback callback = 139 PrefChangeRegistrar::NamedChangeCallback callback =
130 base::Bind(&PolicyProvider::OnPreferenceChanged, base::Unretained(this)); 140 base::Bind(&PolicyProvider::OnPreferenceChanged, base::Unretained(this));
131 pref_change_registrar_.Add( 141 pref_change_registrar_.Add(
132 prefs::kManagedAutoSelectCertificateForUrls, callback); 142 prefs::kManagedAutoSelectCertificateForUrls, callback);
133 pref_change_registrar_.Add(prefs::kManagedCookiesAllowedForUrls, callback); 143 pref_change_registrar_.Add(prefs::kManagedCookiesAllowedForUrls, callback);
134 pref_change_registrar_.Add(prefs::kManagedCookiesBlockedForUrls, callback); 144 pref_change_registrar_.Add(prefs::kManagedCookiesBlockedForUrls, callback);
135 pref_change_registrar_.Add( 145 pref_change_registrar_.Add(
136 prefs::kManagedCookiesSessionOnlyForUrls, callback); 146 prefs::kManagedCookiesSessionOnlyForUrls, callback);
137 pref_change_registrar_.Add(prefs::kManagedImagesAllowedForUrls, callback); 147 pref_change_registrar_.Add(prefs::kManagedImagesAllowedForUrls, callback);
138 pref_change_registrar_.Add(prefs::kManagedImagesBlockedForUrls, callback); 148 pref_change_registrar_.Add(prefs::kManagedImagesBlockedForUrls, callback);
139 pref_change_registrar_.Add(prefs::kManagedJavaScriptAllowedForUrls, callback); 149 pref_change_registrar_.Add(prefs::kManagedJavaScriptAllowedForUrls, callback);
140 pref_change_registrar_.Add(prefs::kManagedJavaScriptBlockedForUrls, callback); 150 pref_change_registrar_.Add(prefs::kManagedJavaScriptBlockedForUrls, callback);
151 pref_change_registrar_.Add(prefs::kManagedKeygenAllowedForUrls, callback);
152 pref_change_registrar_.Add(prefs::kManagedKeygenBlockedForUrls, callback);
141 153
142 pref_change_registrar_.Add( 154 pref_change_registrar_.Add(
143 prefs::kManagedNotificationsAllowedForUrls, callback); 155 prefs::kManagedNotificationsAllowedForUrls, callback);
144 pref_change_registrar_.Add( 156 pref_change_registrar_.Add(
145 prefs::kManagedNotificationsBlockedForUrls, callback); 157 prefs::kManagedNotificationsBlockedForUrls, callback);
146 pref_change_registrar_.Add(prefs::kManagedPluginsAllowedForUrls, callback); 158 pref_change_registrar_.Add(prefs::kManagedPluginsAllowedForUrls, callback);
147 pref_change_registrar_.Add(prefs::kManagedPluginsBlockedForUrls, callback); 159 pref_change_registrar_.Add(prefs::kManagedPluginsBlockedForUrls, callback);
148 pref_change_registrar_.Add(prefs::kManagedPopupsAllowedForUrls, callback); 160 pref_change_registrar_.Add(prefs::kManagedPopupsAllowedForUrls, callback);
149 pref_change_registrar_.Add(prefs::kManagedPopupsBlockedForUrls, callback); 161 pref_change_registrar_.Add(prefs::kManagedPopupsBlockedForUrls, callback);
150 // The following preferences are only used to indicate if a default content 162 // The following preferences are only used to indicate if a default content
151 // setting is managed and to hold the managed default setting value. If the 163 // setting is managed and to hold the managed default setting value. If the
152 // value for any of the following preferences is set then the corresponding 164 // value for any of the following preferences is set then the corresponding
153 // default content setting is managed. These preferences exist in parallel to 165 // default content setting is managed. These preferences exist in parallel to
154 // the preference default content settings. If a default content settings type 166 // the preference default content settings. If a default content settings type
155 // is managed any user defined exceptions (patterns) for this type are 167 // is managed any user defined exceptions (patterns) for this type are
156 // ignored. 168 // ignored.
157 pref_change_registrar_.Add(prefs::kManagedDefaultCookiesSetting, callback); 169 pref_change_registrar_.Add(prefs::kManagedDefaultCookiesSetting, callback);
158 pref_change_registrar_.Add( 170 pref_change_registrar_.Add(
159 prefs::kManagedDefaultGeolocationSetting, callback); 171 prefs::kManagedDefaultGeolocationSetting, callback);
160 pref_change_registrar_.Add(prefs::kManagedDefaultImagesSetting, callback); 172 pref_change_registrar_.Add(prefs::kManagedDefaultImagesSetting, callback);
161 pref_change_registrar_.Add(prefs::kManagedDefaultJavaScriptSetting, callback); 173 pref_change_registrar_.Add(prefs::kManagedDefaultJavaScriptSetting, callback);
174 pref_change_registrar_.Add(prefs::kManagedDefaultKeygenSetting, callback);
162 pref_change_registrar_.Add( 175 pref_change_registrar_.Add(
163 prefs::kManagedDefaultNotificationsSetting, callback); 176 prefs::kManagedDefaultNotificationsSetting, callback);
164 pref_change_registrar_.Add( 177 pref_change_registrar_.Add(
165 prefs::kManagedDefaultMediaStreamSetting, callback); 178 prefs::kManagedDefaultMediaStreamSetting, callback);
166 pref_change_registrar_.Add(prefs::kManagedDefaultPluginsSetting, callback); 179 pref_change_registrar_.Add(prefs::kManagedDefaultPluginsSetting, callback);
167 pref_change_registrar_.Add(prefs::kManagedDefaultPopupsSetting, callback); 180 pref_change_registrar_.Add(prefs::kManagedDefaultPopupsSetting, callback);
168 } 181 }
169 182
170 PolicyProvider::~PolicyProvider() { 183 PolicyProvider::~PolicyProvider() {
171 DCHECK(!prefs_); 184 DCHECK(!prefs_);
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 } 396 }
384 397
385 if (name == prefs::kManagedAutoSelectCertificateForUrls || 398 if (name == prefs::kManagedAutoSelectCertificateForUrls ||
386 name == prefs::kManagedCookiesAllowedForUrls || 399 name == prefs::kManagedCookiesAllowedForUrls ||
387 name == prefs::kManagedCookiesBlockedForUrls || 400 name == prefs::kManagedCookiesBlockedForUrls ||
388 name == prefs::kManagedCookiesSessionOnlyForUrls || 401 name == prefs::kManagedCookiesSessionOnlyForUrls ||
389 name == prefs::kManagedImagesAllowedForUrls || 402 name == prefs::kManagedImagesAllowedForUrls ||
390 name == prefs::kManagedImagesBlockedForUrls || 403 name == prefs::kManagedImagesBlockedForUrls ||
391 name == prefs::kManagedJavaScriptAllowedForUrls || 404 name == prefs::kManagedJavaScriptAllowedForUrls ||
392 name == prefs::kManagedJavaScriptBlockedForUrls || 405 name == prefs::kManagedJavaScriptBlockedForUrls ||
406 name == prefs::kManagedKeygenAllowedForUrls ||
407 name == prefs::kManagedKeygenBlockedForUrls ||
393 name == prefs::kManagedNotificationsAllowedForUrls || 408 name == prefs::kManagedNotificationsAllowedForUrls ||
394 name == prefs::kManagedNotificationsBlockedForUrls || 409 name == prefs::kManagedNotificationsBlockedForUrls ||
395 name == prefs::kManagedPluginsAllowedForUrls || 410 name == prefs::kManagedPluginsAllowedForUrls ||
396 name == prefs::kManagedPluginsBlockedForUrls || 411 name == prefs::kManagedPluginsBlockedForUrls ||
397 name == prefs::kManagedPopupsAllowedForUrls || 412 name == prefs::kManagedPopupsAllowedForUrls ||
398 name == prefs::kManagedPopupsBlockedForUrls) { 413 name == prefs::kManagedPopupsBlockedForUrls) {
399 ReadManagedContentSettings(true); 414 ReadManagedContentSettings(true);
400 ReadManagedDefaultSettings(); 415 ReadManagedDefaultSettings();
401 } 416 }
402 417
403 NotifyObservers(ContentSettingsPattern(), 418 NotifyObservers(ContentSettingsPattern(),
404 ContentSettingsPattern(), 419 ContentSettingsPattern(),
405 CONTENT_SETTINGS_TYPE_DEFAULT, 420 CONTENT_SETTINGS_TYPE_DEFAULT,
406 std::string()); 421 std::string());
407 } 422 }
408 423
409 } // namespace content_settings 424 } // namespace content_settings
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698