| 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 18 matching lines...) Expand all Loading... |
| 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 prefs::kManagedDefaultGeolocationSetting, | 38 prefs::kManagedDefaultGeolocationSetting, |
| 39 NULL, // Not used for Notifications | 39 prefs::kManagedDefaultNotificationsSetting, |
| 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 |
| 49 kPrefsForManagedContentSettingsMap[] = { | 49 kPrefsForManagedContentSettingsMap[] = { |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 pref_change_registrar_.Add(prefs::kManagedDefaultGeolocationSetting, this); |
| 122 pref_change_registrar_.Add(prefs::kManagedDefaultNotificationsSetting, this); |
| 122 } | 123 } |
| 123 | 124 |
| 124 PolicyDefaultProvider::~PolicyDefaultProvider() { | 125 PolicyDefaultProvider::~PolicyDefaultProvider() { |
| 125 DCHECK(!prefs_); | 126 DCHECK(!prefs_); |
| 126 } | 127 } |
| 127 | 128 |
| 128 ContentSetting PolicyDefaultProvider::ProvideDefaultSetting( | 129 ContentSetting PolicyDefaultProvider::ProvideDefaultSetting( |
| 129 ContentSettingsType content_type) const { | 130 ContentSettingsType content_type) const { |
| 130 base::AutoLock auto_lock(lock_); | 131 base::AutoLock auto_lock(lock_); |
| 131 return managed_default_content_settings_.settings[content_type]; | 132 return managed_default_content_settings_.settings[content_type]; |
| (...skipping 28 matching lines...) Expand all Loading... |
| 160 } else if (*name == prefs::kManagedDefaultImagesSetting) { | 161 } else if (*name == prefs::kManagedDefaultImagesSetting) { |
| 161 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_IMAGES); | 162 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_IMAGES); |
| 162 } else if (*name == prefs::kManagedDefaultJavaScriptSetting) { | 163 } else if (*name == prefs::kManagedDefaultJavaScriptSetting) { |
| 163 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); | 164 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); |
| 164 } else if (*name == prefs::kManagedDefaultPluginsSetting) { | 165 } else if (*name == prefs::kManagedDefaultPluginsSetting) { |
| 165 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_PLUGINS); | 166 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_PLUGINS); |
| 166 } else if (*name == prefs::kManagedDefaultPopupsSetting) { | 167 } else if (*name == prefs::kManagedDefaultPopupsSetting) { |
| 167 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_POPUPS); | 168 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_POPUPS); |
| 168 } else if (*name == prefs::kManagedDefaultGeolocationSetting) { | 169 } else if (*name == prefs::kManagedDefaultGeolocationSetting) { |
| 169 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_GEOLOCATION); | 170 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_GEOLOCATION); |
| 171 } else if (*name == prefs::kManagedDefaultNotificationsSetting) { |
| 172 UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_NOTIFICATIONS); |
| 170 } else { | 173 } else { |
| 171 NOTREACHED() << "Unexpected preference observed"; | 174 NOTREACHED() << "Unexpected preference observed"; |
| 172 return; | 175 return; |
| 173 } | 176 } |
| 174 | 177 |
| 175 NotifyObservers(ContentSettingsPattern(), | 178 NotifyObservers(ContentSettingsPattern(), |
| 176 ContentSettingsPattern(), | 179 ContentSettingsPattern(), |
| 177 CONTENT_SETTINGS_TYPE_DEFAULT, | 180 CONTENT_SETTINGS_TYPE_DEFAULT, |
| 178 std::string()); | 181 std::string()); |
| 179 } else { | 182 } else { |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 PrefService::UNSYNCABLE_PREF); | 231 PrefService::UNSYNCABLE_PREF); |
| 229 prefs->RegisterIntegerPref(prefs::kManagedDefaultPluginsSetting, | 232 prefs->RegisterIntegerPref(prefs::kManagedDefaultPluginsSetting, |
| 230 CONTENT_SETTING_DEFAULT, | 233 CONTENT_SETTING_DEFAULT, |
| 231 PrefService::UNSYNCABLE_PREF); | 234 PrefService::UNSYNCABLE_PREF); |
| 232 prefs->RegisterIntegerPref(prefs::kManagedDefaultPopupsSetting, | 235 prefs->RegisterIntegerPref(prefs::kManagedDefaultPopupsSetting, |
| 233 CONTENT_SETTING_DEFAULT, | 236 CONTENT_SETTING_DEFAULT, |
| 234 PrefService::UNSYNCABLE_PREF); | 237 PrefService::UNSYNCABLE_PREF); |
| 235 prefs->RegisterIntegerPref(prefs::kManagedDefaultGeolocationSetting, | 238 prefs->RegisterIntegerPref(prefs::kManagedDefaultGeolocationSetting, |
| 236 CONTENT_SETTING_DEFAULT, | 239 CONTENT_SETTING_DEFAULT, |
| 237 PrefService::UNSYNCABLE_PREF); | 240 PrefService::UNSYNCABLE_PREF); |
| 241 prefs->RegisterIntegerPref(prefs::kManagedDefaultNotificationsSetting, |
| 242 CONTENT_SETTING_DEFAULT, |
| 243 PrefService::UNSYNCABLE_PREF); |
| 238 } | 244 } |
| 239 | 245 |
| 240 // //////////////////////////////////////////////////////////////////////////// | 246 // //////////////////////////////////////////////////////////////////////////// |
| 241 // PolicyProvider | 247 // PolicyProvider |
| 242 | 248 |
| 243 // static | 249 // static |
| 244 void PolicyProvider::RegisterUserPrefs(PrefService* prefs) { | 250 void PolicyProvider::RegisterUserPrefs(PrefService* prefs) { |
| 245 prefs->RegisterListPref(prefs::kManagedCookiesAllowedForUrls, | 251 prefs->RegisterListPref(prefs::kManagedCookiesAllowedForUrls, |
| 246 PrefService::UNSYNCABLE_PREF); | 252 PrefService::UNSYNCABLE_PREF); |
| 247 prefs->RegisterListPref(prefs::kManagedCookiesBlockedForUrls, | 253 prefs->RegisterListPref(prefs::kManagedCookiesBlockedForUrls, |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 446 ContentSettingsPattern(), | 452 ContentSettingsPattern(), |
| 447 CONTENT_SETTINGS_TYPE_DEFAULT, | 453 CONTENT_SETTINGS_TYPE_DEFAULT, |
| 448 std::string()); | 454 std::string()); |
| 449 } | 455 } |
| 450 } else { | 456 } else { |
| 451 NOTREACHED() << "Unexpected notification"; | 457 NOTREACHED() << "Unexpected notification"; |
| 452 } | 458 } |
| 453 } | 459 } |
| 454 | 460 |
| 455 } // namespace content_settings | 461 } // namespace content_settings |
| OLD | NEW |