summaryrefslogtreecommitdiffstats
path: root/chrome/browser/content_settings
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/content_settings')
-rw-r--r--chrome/browser/content_settings/content_settings_default_provider.cc47
-rw-r--r--chrome/browser/content_settings/content_settings_policy_provider.cc75
-rw-r--r--chrome/browser/content_settings/content_settings_pref_provider.cc28
-rw-r--r--chrome/browser/content_settings/cookie_settings.cc23
4 files changed, 79 insertions, 94 deletions
diff --git a/chrome/browser/content_settings/content_settings_default_provider.cc b/chrome/browser/content_settings/content_settings_default_provider.cc
index 28fd5cd..97e6b55 100644
--- a/chrome/browser/content_settings/content_settings_default_provider.cc
+++ b/chrome/browser/content_settings/content_settings_default_provider.cc
@@ -280,33 +280,30 @@ void DefaultProvider::Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-
- if (type == chrome::NOTIFICATION_PREF_CHANGED) {
- DCHECK_EQ(prefs_, content::Source<PrefService>(source).ptr());
- if (updating_preferences_)
- return;
-
- std::string* name = content::Details<std::string>(details).ptr();
- if (*name == prefs::kDefaultContentSettings) {
- ReadDefaultSettings(true);
- } else if (*name == prefs::kGeolocationDefaultContentSetting) {
- MigrateObsoleteGeolocationPref();
- // Return and don't send a notifications. Migrating the obsolete
- // geolocation pref will change the prefs::kDefaultContentSettings and
- // cause the notification to be fired.
- return;
- } else {
- NOTREACHED() << "Unexpected preference observed";
- return;
- }
-
- NotifyObservers(ContentSettingsPattern(),
- ContentSettingsPattern(),
- CONTENT_SETTINGS_TYPE_DEFAULT,
- std::string());
+ DCHECK_EQ(chrome::NOTIFICATION_PREF_CHANGED, type);
+ DCHECK_EQ(content::Source<PrefService>(source).ptr(), prefs_);
+
+ if (updating_preferences_)
+ return;
+
+ const std::string& name = *content::Details<std::string>(details).ptr();
+ if (name == prefs::kDefaultContentSettings) {
+ ReadDefaultSettings(true);
+ } else if (name == prefs::kGeolocationDefaultContentSetting) {
+ MigrateObsoleteGeolocationPref();
+ // Return and don't send a notifications. Migrating the obsolete
+ // geolocation pref will change the prefs::kDefaultContentSettings and
+ // cause the notification to be fired.
+ return;
} else {
- NOTREACHED() << "Unexpected notification";
+ NOTREACHED() << "Unexpected preference observed";
+ return;
}
+
+ NotifyObservers(ContentSettingsPattern(),
+ ContentSettingsPattern(),
+ CONTENT_SETTINGS_TYPE_DEFAULT,
+ std::string());
}
void DefaultProvider::ReadDefaultSettings(bool overwrite) {
diff --git a/chrome/browser/content_settings/content_settings_policy_provider.cc b/chrome/browser/content_settings/content_settings_policy_provider.cc
index 6aa1a0e..cb24bfd 100644
--- a/chrome/browser/content_settings/content_settings_policy_provider.cc
+++ b/chrome/browser/content_settings/content_settings_policy_provider.cc
@@ -426,45 +426,44 @@ void PolicyProvider::Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
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();
- }
+ DCHECK_EQ(chrome::NOTIFICATION_PREF_CHANGED, type);
+ DCHECK_EQ(content::Source<PrefService>(source).ptr(), prefs_);
+
+ const 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";
+ NOTREACHED();
return;
}
NotifyObservers(ContentSettingsPattern(),
diff --git a/chrome/browser/content_settings/content_settings_pref_provider.cc b/chrome/browser/content_settings/content_settings_pref_provider.cc
index 6dfb9ad..8b4887e 100644
--- a/chrome/browser/content_settings/content_settings_pref_provider.cc
+++ b/chrome/browser/content_settings/content_settings_pref_provider.cc
@@ -222,26 +222,20 @@ void PrefProvider::Observe(
const content::NotificationSource& source,
const content::NotificationDetails& details) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK_EQ(chrome::NOTIFICATION_PREF_CHANGED, type);
+ DCHECK_EQ(content::Source<PrefService>(source).ptr(), prefs_);
+ DCHECK_EQ(std::string(prefs::kContentSettingsPatternPairs),
+ *content::Details<std::string>(details).ptr());
- if (type == chrome::NOTIFICATION_PREF_CHANGED) {
- DCHECK_EQ(prefs_, content::Source<PrefService>(source).ptr());
- if (updating_preferences_)
- return;
+ if (updating_preferences_)
+ return;
- std::string* name = content::Details<std::string>(details).ptr();
- if (*name != prefs::kContentSettingsPatternPairs) {
- NOTREACHED() << "Unexpected preference observed";
- return;
- }
- ReadContentSettingsFromPref(true);
+ ReadContentSettingsFromPref(true);
- NotifyObservers(ContentSettingsPattern(),
- ContentSettingsPattern(),
- CONTENT_SETTINGS_TYPE_DEFAULT,
- std::string());
- } else {
- NOTREACHED() << "Unexpected notification";
- }
+ NotifyObservers(ContentSettingsPattern(),
+ ContentSettingsPattern(),
+ CONTENT_SETTINGS_TYPE_DEFAULT,
+ std::string());
}
PrefProvider::~PrefProvider() {
diff --git a/chrome/browser/content_settings/cookie_settings.cc b/chrome/browser/content_settings/cookie_settings.cc
index 72cfd17..9407cbc 100644
--- a/chrome/browser/content_settings/cookie_settings.cc
+++ b/chrome/browser/content_settings/cookie_settings.cc
@@ -159,20 +159,15 @@ void CookieSettings::Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-
- if (type == chrome::NOTIFICATION_PREF_CHANGED) {
- PrefService* prefs = content::Source<PrefService>(source).ptr();
- std::string* name = content::Details<std::string>(details).ptr();
- if (*name == prefs::kBlockThirdPartyCookies) {
- base::AutoLock auto_lock(lock_);
- block_third_party_cookies_ = prefs->GetBoolean(
- prefs::kBlockThirdPartyCookies);
- } else {
- NOTREACHED() << "Unexpected preference observed";
- return;
- }
- } else {
- NOTREACHED() << "Unexpected notification";
+ DCHECK_EQ(chrome::NOTIFICATION_PREF_CHANGED, type);
+ DCHECK_EQ(std::string(prefs::kBlockThirdPartyCookies),
+ *content::Details<std::string>(details).ptr());
+
+ PrefService* prefs = content::Source<PrefService>(source).ptr();
+ {
+ base::AutoLock auto_lock(lock_);
+ block_third_party_cookies_ = prefs->GetBoolean(
+ prefs::kBlockThirdPartyCookies);
}
}