Index: chrome/browser/content_settings/content_settings_policy_provider.cc |
diff --git a/chrome/browser/content_settings/content_settings_policy_provider.cc b/chrome/browser/content_settings/content_settings_policy_provider.cc |
index 0160b510cd9f619c52b41a9871d7b21a3dc07899..69bd1e4e2fd5998a0c8fc0300b2751d76226e9d8 100644 |
--- a/chrome/browser/content_settings/content_settings_policy_provider.cc |
+++ b/chrome/browser/content_settings/content_settings_policy_provider.cc |
@@ -174,20 +174,26 @@ PolicyProvider::PolicyProvider(PrefService* prefs) : prefs_(prefs) { |
ReadManagedContentSettings(false); |
pref_change_registrar_.Init(prefs_); |
- pref_change_registrar_.Add(prefs::kManagedAutoSelectCertificateForUrls, this); |
- pref_change_registrar_.Add(prefs::kManagedCookiesBlockedForUrls, this); |
- pref_change_registrar_.Add(prefs::kManagedCookiesAllowedForUrls, this); |
- pref_change_registrar_.Add(prefs::kManagedCookiesSessionOnlyForUrls, this); |
- pref_change_registrar_.Add(prefs::kManagedImagesBlockedForUrls, this); |
- pref_change_registrar_.Add(prefs::kManagedImagesAllowedForUrls, this); |
- pref_change_registrar_.Add(prefs::kManagedJavaScriptBlockedForUrls, this); |
- pref_change_registrar_.Add(prefs::kManagedJavaScriptAllowedForUrls, this); |
- pref_change_registrar_.Add(prefs::kManagedPluginsBlockedForUrls, this); |
- pref_change_registrar_.Add(prefs::kManagedPluginsAllowedForUrls, this); |
- pref_change_registrar_.Add(prefs::kManagedPopupsBlockedForUrls, this); |
- pref_change_registrar_.Add(prefs::kManagedPopupsAllowedForUrls, this); |
- pref_change_registrar_.Add(prefs::kManagedNotificationsAllowedForUrls, this); |
- pref_change_registrar_.Add(prefs::kManagedNotificationsBlockedForUrls, this); |
+ PrefChangeRegistrar::NamedChangeCallback callback = |
+ base::Bind(&PolicyProvider::OnPreferenceChanged, base::Unretained(this)); |
+ pref_change_registrar_.Add( |
+ prefs::kManagedAutoSelectCertificateForUrls, callback); |
+ pref_change_registrar_.Add(prefs::kManagedCookiesBlockedForUrls, callback); |
+ pref_change_registrar_.Add(prefs::kManagedCookiesAllowedForUrls, callback); |
+ pref_change_registrar_.Add( |
+ prefs::kManagedCookiesSessionOnlyForUrls, callback); |
+ pref_change_registrar_.Add(prefs::kManagedImagesBlockedForUrls, callback); |
+ pref_change_registrar_.Add(prefs::kManagedImagesAllowedForUrls, callback); |
+ pref_change_registrar_.Add(prefs::kManagedJavaScriptBlockedForUrls, callback); |
+ pref_change_registrar_.Add(prefs::kManagedJavaScriptAllowedForUrls, callback); |
+ pref_change_registrar_.Add(prefs::kManagedPluginsBlockedForUrls, callback); |
+ pref_change_registrar_.Add(prefs::kManagedPluginsAllowedForUrls, callback); |
+ pref_change_registrar_.Add(prefs::kManagedPopupsBlockedForUrls, callback); |
+ pref_change_registrar_.Add(prefs::kManagedPopupsAllowedForUrls, callback); |
+ pref_change_registrar_.Add( |
+ prefs::kManagedNotificationsAllowedForUrls, callback); |
+ pref_change_registrar_.Add( |
+ prefs::kManagedNotificationsBlockedForUrls, callback); |
// The following preferences are only used to indicate if a |
// default content setting is managed and to hold the managed default setting |
// value. If the value for any of the following perferences is set then the |
@@ -195,14 +201,17 @@ PolicyProvider::PolicyProvider(PrefService* prefs) : prefs_(prefs) { |
// in parallel to the preference default content settings. If a |
// default content settings type is managed any user defined excpetions |
// (patterns) for this type are ignored. |
- pref_change_registrar_.Add(prefs::kManagedDefaultCookiesSetting, this); |
- pref_change_registrar_.Add(prefs::kManagedDefaultImagesSetting, this); |
- pref_change_registrar_.Add(prefs::kManagedDefaultJavaScriptSetting, this); |
- pref_change_registrar_.Add(prefs::kManagedDefaultPluginsSetting, this); |
- pref_change_registrar_.Add(prefs::kManagedDefaultPopupsSetting, this); |
- pref_change_registrar_.Add(prefs::kManagedDefaultGeolocationSetting, this); |
- pref_change_registrar_.Add(prefs::kManagedDefaultNotificationsSetting, this); |
- pref_change_registrar_.Add(prefs::kManagedDefaultMediaStreamSetting, this); |
+ pref_change_registrar_.Add(prefs::kManagedDefaultCookiesSetting, callback); |
+ pref_change_registrar_.Add(prefs::kManagedDefaultImagesSetting, callback); |
+ pref_change_registrar_.Add(prefs::kManagedDefaultJavaScriptSetting, callback); |
+ pref_change_registrar_.Add(prefs::kManagedDefaultPluginsSetting, callback); |
+ pref_change_registrar_.Add(prefs::kManagedDefaultPopupsSetting, callback); |
+ pref_change_registrar_.Add( |
+ prefs::kManagedDefaultGeolocationSetting, callback); |
+ pref_change_registrar_.Add( |
+ prefs::kManagedDefaultNotificationsSetting, callback); |
+ pref_change_registrar_.Add( |
+ prefs::kManagedDefaultMediaStreamSetting, callback); |
} |
PolicyProvider::~PolicyProvider() { |
@@ -422,10 +431,8 @@ void PolicyProvider::ShutdownOnUIThread() { |
prefs_ = NULL; |
} |
-void PolicyProvider::OnPreferenceChanged(PrefServiceBase* service, |
- const std::string& name) { |
+void PolicyProvider::OnPreferenceChanged(const std::string& name) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- DCHECK_EQ(prefs_, service); |
if (name == prefs::kManagedDefaultCookiesSetting) { |
UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_COOKIES); |