| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |