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

Side by Side Diff: chrome/browser/content_settings/content_settings_policy_provider.cc

Issue 7328018: Migrate default geolocation content setting to host content settings map. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix nits Created 9 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/content_settings/content_settings_policy_provider_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "chrome/browser/content_settings/content_settings_policy_provider.h" 5 #include "chrome/browser/content_settings/content_settings_policy_provider.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 17 matching lines...) Expand all
28 const std::string kManagedSettings = 28 const std::string kManagedSettings =
29 "profile.managed_default_content_settings"; 29 "profile.managed_default_content_settings";
30 30
31 // The preferences used to manage ContentSettingsTypes. 31 // The preferences used to manage ContentSettingsTypes.
32 const char* kPrefToManageType[CONTENT_SETTINGS_NUM_TYPES] = { 32 const char* kPrefToManageType[CONTENT_SETTINGS_NUM_TYPES] = {
33 prefs::kManagedDefaultCookiesSetting, 33 prefs::kManagedDefaultCookiesSetting,
34 prefs::kManagedDefaultImagesSetting, 34 prefs::kManagedDefaultImagesSetting,
35 prefs::kManagedDefaultJavaScriptSetting, 35 prefs::kManagedDefaultJavaScriptSetting,
36 prefs::kManagedDefaultPluginsSetting, 36 prefs::kManagedDefaultPluginsSetting,
37 prefs::kManagedDefaultPopupsSetting, 37 prefs::kManagedDefaultPopupsSetting,
38 NULL, // Not used for Geolocation 38 prefs::kManagedDefaultGeolocationSetting,
39 NULL, // Not used for Notifications 39 NULL, // Not used for Notifications
40 }; 40 };
41 41
42 struct PrefsForManagedContentSettingsMapEntry { 42 struct PrefsForManagedContentSettingsMapEntry {
43 const char* pref_name; 43 const char* pref_name;
44 ContentSettingsType content_type; 44 ContentSettingsType content_type;
45 ContentSetting setting; 45 ContentSetting setting;
46 }; 46 };
47 47
48 const PrefsForManagedContentSettingsMapEntry 48 const PrefsForManagedContentSettingsMapEntry
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 // value. If the value for any of the following perferences is set then the 111 // value. If the value for any of the following perferences is set then the
112 // corresponding default-content-setting is managed. These preferences exist 112 // corresponding default-content-setting is managed. These preferences exist
113 // in parallel to the preference default-content-settings. If a 113 // in parallel to the preference default-content-settings. If a
114 // default-content-settings-type is managed any user defined excpetions 114 // default-content-settings-type is managed any user defined excpetions
115 // (patterns) for this type are ignored. 115 // (patterns) for this type are ignored.
116 pref_change_registrar_.Add(prefs::kManagedDefaultCookiesSetting, this); 116 pref_change_registrar_.Add(prefs::kManagedDefaultCookiesSetting, this);
117 pref_change_registrar_.Add(prefs::kManagedDefaultImagesSetting, this); 117 pref_change_registrar_.Add(prefs::kManagedDefaultImagesSetting, this);
118 pref_change_registrar_.Add(prefs::kManagedDefaultJavaScriptSetting, this); 118 pref_change_registrar_.Add(prefs::kManagedDefaultJavaScriptSetting, this);
119 pref_change_registrar_.Add(prefs::kManagedDefaultPluginsSetting, this); 119 pref_change_registrar_.Add(prefs::kManagedDefaultPluginsSetting, this);
120 pref_change_registrar_.Add(prefs::kManagedDefaultPopupsSetting, this); 120 pref_change_registrar_.Add(prefs::kManagedDefaultPopupsSetting, this);
121 pref_change_registrar_.Add(prefs::kManagedDefaultGeolocationSetting, this);
121 } 122 }
122 123
123 PolicyDefaultProvider::~PolicyDefaultProvider() { 124 PolicyDefaultProvider::~PolicyDefaultProvider() {
124 DCHECK(!prefs_); 125 DCHECK(!prefs_);
125 } 126 }
126 127
127 ContentSetting PolicyDefaultProvider::ProvideDefaultSetting( 128 ContentSetting PolicyDefaultProvider::ProvideDefaultSetting(
128 ContentSettingsType content_type) const { 129 ContentSettingsType content_type) const {
129 base::AutoLock auto_lock(lock_); 130 base::AutoLock auto_lock(lock_);
130 return managed_default_content_settings_.settings[content_type]; 131 return managed_default_content_settings_.settings[content_type];
(...skipping 26 matching lines...) Expand all
157 if (*name == prefs::kManagedDefaultCookiesSetting) { 158 if (*name == prefs::kManagedDefaultCookiesSetting) {
158 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_COOKIES); 159 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_COOKIES);
159 } else if (*name == prefs::kManagedDefaultImagesSetting) { 160 } else if (*name == prefs::kManagedDefaultImagesSetting) {
160 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_IMAGES); 161 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_IMAGES);
161 } else if (*name == prefs::kManagedDefaultJavaScriptSetting) { 162 } else if (*name == prefs::kManagedDefaultJavaScriptSetting) {
162 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); 163 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT);
163 } else if (*name == prefs::kManagedDefaultPluginsSetting) { 164 } else if (*name == prefs::kManagedDefaultPluginsSetting) {
164 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_PLUGINS); 165 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_PLUGINS);
165 } else if (*name == prefs::kManagedDefaultPopupsSetting) { 166 } else if (*name == prefs::kManagedDefaultPopupsSetting) {
166 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_POPUPS); 167 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_POPUPS);
168 } else if (*name == prefs::kManagedDefaultGeolocationSetting) {
169 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_GEOLOCATION);
167 } else { 170 } else {
168 NOTREACHED() << "Unexpected preference observed"; 171 NOTREACHED() << "Unexpected preference observed";
169 return; 172 return;
170 } 173 }
171 174
172 NotifyObservers(ContentSettingsPattern(), 175 NotifyObservers(ContentSettingsPattern(),
173 ContentSettingsPattern(), 176 ContentSettingsPattern(),
174 CONTENT_SETTINGS_TYPE_DEFAULT, 177 CONTENT_SETTINGS_TYPE_DEFAULT,
175 std::string()); 178 std::string());
176 } else { 179 } else {
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 PrefService::UNSYNCABLE_PREF); 225 PrefService::UNSYNCABLE_PREF);
223 prefs->RegisterIntegerPref(prefs::kManagedDefaultJavaScriptSetting, 226 prefs->RegisterIntegerPref(prefs::kManagedDefaultJavaScriptSetting,
224 CONTENT_SETTING_DEFAULT, 227 CONTENT_SETTING_DEFAULT,
225 PrefService::UNSYNCABLE_PREF); 228 PrefService::UNSYNCABLE_PREF);
226 prefs->RegisterIntegerPref(prefs::kManagedDefaultPluginsSetting, 229 prefs->RegisterIntegerPref(prefs::kManagedDefaultPluginsSetting,
227 CONTENT_SETTING_DEFAULT, 230 CONTENT_SETTING_DEFAULT,
228 PrefService::UNSYNCABLE_PREF); 231 PrefService::UNSYNCABLE_PREF);
229 prefs->RegisterIntegerPref(prefs::kManagedDefaultPopupsSetting, 232 prefs->RegisterIntegerPref(prefs::kManagedDefaultPopupsSetting,
230 CONTENT_SETTING_DEFAULT, 233 CONTENT_SETTING_DEFAULT,
231 PrefService::UNSYNCABLE_PREF); 234 PrefService::UNSYNCABLE_PREF);
235 prefs->RegisterIntegerPref(prefs::kManagedDefaultGeolocationSetting,
236 CONTENT_SETTING_DEFAULT,
237 PrefService::UNSYNCABLE_PREF);
232 } 238 }
233 239
234 // //////////////////////////////////////////////////////////////////////////// 240 // ////////////////////////////////////////////////////////////////////////////
235 // PolicyProvider 241 // PolicyProvider
236 242
237 // static 243 // static
238 void PolicyProvider::RegisterUserPrefs(PrefService* prefs) { 244 void PolicyProvider::RegisterUserPrefs(PrefService* prefs) {
239 prefs->RegisterListPref(prefs::kManagedCookiesAllowedForUrls, 245 prefs->RegisterListPref(prefs::kManagedCookiesAllowedForUrls,
240 PrefService::UNSYNCABLE_PREF); 246 PrefService::UNSYNCABLE_PREF);
241 prefs->RegisterListPref(prefs::kManagedCookiesBlockedForUrls, 247 prefs->RegisterListPref(prefs::kManagedCookiesBlockedForUrls,
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 ContentSettingsPattern(), 446 ContentSettingsPattern(),
441 CONTENT_SETTINGS_TYPE_DEFAULT, 447 CONTENT_SETTINGS_TYPE_DEFAULT,
442 std::string()); 448 std::string());
443 } 449 }
444 } else { 450 } else {
445 NOTREACHED() << "Unexpected notification"; 451 NOTREACHED() << "Unexpected notification";
446 } 452 }
447 } 453 }
448 454
449 } // namespace content_settings 455 } // namespace content_settings
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/content_settings/content_settings_policy_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698