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

Unified Diff: chrome/browser/content_settings/content_settings_policy_provider.cc

Issue 11345008: Remove content::NotificationObserver dependency from most Prefs code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix PrefNotifierImpl Created 8 years, 2 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 side-by-side diff with in-line comments
Download patch
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 6aa1a0ec24847966fc2da4431f23a0b98b3b6dc0..f07da60c26c04b161b75ef14c9c8d0e9ba35b0b3 100644
--- a/chrome/browser/content_settings/content_settings_policy_provider.cc
+++ b/chrome/browser/content_settings/content_settings_policy_provider.cc
@@ -422,51 +422,45 @@ void PolicyProvider::ShutdownOnUIThread() {
prefs_ = NULL;
}
-void PolicyProvider::Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) {
+void PolicyProvider::OnPreferenceChanged(PrefServiceBase* service,
+ const std::string& name) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- if (type == chrome::NOTIFICATION_PREF_CHANGED) {
- DCHECK_EQ(prefs_, content::Source<PrefService>(source).ptr());
- std::string* name = content::Details<std::string>(details).ptr();
- if (*name == prefs::kManagedDefaultCookiesSetting) {
- UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_COOKIES);
- } else if (*name == prefs::kManagedDefaultImagesSetting) {
- UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_IMAGES);
- } else if (*name == prefs::kManagedDefaultJavaScriptSetting) {
- UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT);
- } else if (*name == prefs::kManagedDefaultPluginsSetting) {
- UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_PLUGINS);
- } else if (*name == prefs::kManagedDefaultPopupsSetting) {
- UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_POPUPS);
- } else if (*name == prefs::kManagedDefaultGeolocationSetting) {
- UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_GEOLOCATION);
- } else if (*name == prefs::kManagedDefaultNotificationsSetting) {
- UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_NOTIFICATIONS);
- } else if (*name == prefs::kManagedDefaultMediaStreamSetting) {
- UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_MEDIASTREAM);
- } else if (*name == prefs::kManagedAutoSelectCertificateForUrls ||
- *name == prefs::kManagedCookiesAllowedForUrls ||
- *name == prefs::kManagedCookiesBlockedForUrls ||
- *name == prefs::kManagedCookiesSessionOnlyForUrls ||
- *name == prefs::kManagedImagesAllowedForUrls ||
- *name == prefs::kManagedImagesBlockedForUrls ||
- *name == prefs::kManagedJavaScriptAllowedForUrls ||
- *name == prefs::kManagedJavaScriptBlockedForUrls ||
- *name == prefs::kManagedPluginsAllowedForUrls ||
- *name == prefs::kManagedPluginsBlockedForUrls ||
- *name == prefs::kManagedPopupsAllowedForUrls ||
- *name == prefs::kManagedPopupsBlockedForUrls ||
- *name == prefs::kManagedNotificationsAllowedForUrls ||
- *name == prefs::kManagedNotificationsBlockedForUrls) {
- ReadManagedContentSettings(true);
- ReadManagedDefaultSettings();
- }
- } else {
- NOTREACHED() << "Unexpected notification";
- return;
+ DCHECK_EQ(prefs_, service);
+ if (name == prefs::kManagedDefaultCookiesSetting) {
+ UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_COOKIES);
+ } else if (name == prefs::kManagedDefaultImagesSetting) {
+ UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_IMAGES);
+ } else if (name == prefs::kManagedDefaultJavaScriptSetting) {
+ UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT);
+ } else if (name == prefs::kManagedDefaultPluginsSetting) {
+ UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_PLUGINS);
+ } else if (name == prefs::kManagedDefaultPopupsSetting) {
+ UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_POPUPS);
+ } else if (name == prefs::kManagedDefaultGeolocationSetting) {
+ UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_GEOLOCATION);
+ } else if (name == prefs::kManagedDefaultNotificationsSetting) {
+ UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_NOTIFICATIONS);
+ } else if (name == prefs::kManagedDefaultMediaStreamSetting) {
+ UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_MEDIASTREAM);
+ } else if (name == prefs::kManagedAutoSelectCertificateForUrls ||
+ name == prefs::kManagedCookiesAllowedForUrls ||
+ name == prefs::kManagedCookiesBlockedForUrls ||
+ name == prefs::kManagedCookiesSessionOnlyForUrls ||
+ name == prefs::kManagedImagesAllowedForUrls ||
+ name == prefs::kManagedImagesBlockedForUrls ||
+ name == prefs::kManagedJavaScriptAllowedForUrls ||
+ name == prefs::kManagedJavaScriptBlockedForUrls ||
+ name == prefs::kManagedPluginsAllowedForUrls ||
+ name == prefs::kManagedPluginsBlockedForUrls ||
+ name == prefs::kManagedPopupsAllowedForUrls ||
+ name == prefs::kManagedPopupsBlockedForUrls ||
+ name == prefs::kManagedNotificationsAllowedForUrls ||
+ name == prefs::kManagedNotificationsBlockedForUrls) {
+ ReadManagedContentSettings(true);
+ ReadManagedDefaultSettings();
}
+
NotifyObservers(ContentSettingsPattern(),
ContentSettingsPattern(),
CONTENT_SETTINGS_TYPE_DEFAULT,

Powered by Google App Engine
This is Rietveld 408576698