summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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
-rw-r--r--chrome/browser/extensions/api/font_settings/font_settings_api.cc17
-rw-r--r--chrome/browser/extensions/api/preference/preference_api.cc10
-rw-r--r--chrome/browser/extensions/component_loader.cc14
-rw-r--r--chrome/browser/extensions/extension_service.cc15
-rw-r--r--chrome/browser/extensions/external_policy_loader.cc9
9 files changed, 103 insertions, 135 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);
}
}
diff --git a/chrome/browser/extensions/api/font_settings/font_settings_api.cc b/chrome/browser/extensions/api/font_settings/font_settings_api.cc
index 93d6a9c..82d63cc 100644
--- a/chrome/browser/extensions/api/font_settings/font_settings_api.cc
+++ b/chrome/browser/extensions/api/font_settings/font_settings_api.cc
@@ -158,30 +158,27 @@ void FontSettingsEventRouter::Observe(
int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
- if (type != chrome::NOTIFICATION_PREF_CHANGED) {
- NOTREACHED();
- return;
- }
+ DCHECK_EQ(chrome::NOTIFICATION_PREF_CHANGED, type);
PrefService* pref_service = content::Source<PrefService>(source).ptr();
bool incognito = (pref_service != profile_->GetPrefs());
// We're only observing pref changes on the regular profile.
DCHECK(!incognito);
- const std::string* pref_name =
- content::Details<const std::string>(details).ptr();
+ const std::string& pref_name =
+ *content::Details<const std::string>(details).ptr();
- PrefEventMap::iterator iter = pref_event_map_.find(*pref_name);
+ PrefEventMap::iterator iter = pref_event_map_.find(pref_name);
if (iter != pref_event_map_.end()) {
const std::string& event_name = iter->second.first;
const std::string& key = iter->second.second;
- OnFontPrefChanged(pref_service, *pref_name, event_name, key, incognito);
+ OnFontPrefChanged(pref_service, pref_name, event_name, key, incognito);
return;
}
std::string generic_family;
std::string script;
- if (ParseFontNamePrefPath(*pref_name, &generic_family, &script)) {
- OnFontNamePrefChanged(pref_service, *pref_name, generic_family, script,
+ if (ParseFontNamePrefPath(pref_name, &generic_family, &script)) {
+ OnFontNamePrefChanged(pref_service, pref_name, generic_family, script,
incognito);
return;
}
diff --git a/chrome/browser/extensions/api/preference/preference_api.cc b/chrome/browser/extensions/api/preference/preference_api.cc
index 06ef6c2..a555e36 100644
--- a/chrome/browser/extensions/api/preference/preference_api.cc
+++ b/chrome/browser/extensions/api/preference/preference_api.cc
@@ -257,13 +257,9 @@ void PreferenceEventRouter::Observe(
int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
- if (type == chrome::NOTIFICATION_PREF_CHANGED) {
- const std::string* pref_key =
- content::Details<const std::string>(details).ptr();
- OnPrefChanged(content::Source<PrefService>(source).ptr(), *pref_key);
- } else {
- NOTREACHED();
- }
+ DCHECK_EQ(chrome::NOTIFICATION_PREF_CHANGED, type);
+ OnPrefChanged(content::Source<PrefService>(source).ptr(),
+ *content::Details<const std::string>(details).ptr());
}
void PreferenceEventRouter::OnPrefChanged(PrefService* pref_service,
diff --git a/chrome/browser/extensions/component_loader.cc b/chrome/browser/extensions/component_loader.cc
index 59b2bb7..e7e5b16 100644
--- a/chrome/browser/extensions/component_loader.cc
+++ b/chrome/browser/extensions/component_loader.cc
@@ -411,16 +411,10 @@ void ComponentLoader::Observe(
int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
- if (type == chrome::NOTIFICATION_PREF_CHANGED) {
- const std::string* name =
- content::Details<const std::string>(details).ptr();
- if (*name == prefs::kEnterpriseWebStoreURL)
- AddOrReloadEnterpriseWebStore();
- else
- NOTREACHED();
- } else {
- NOTREACHED();
- }
+ DCHECK_EQ(chrome::NOTIFICATION_PREF_CHANGED, type);
+ DCHECK_EQ(std::string(prefs::kEnterpriseWebStoreURL),
+ *content::Details<const std::string>(details).ptr());
+ AddOrReloadEnterpriseWebStore();
}
// static
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index c7b6401..cc1ea1b 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -2582,14 +2582,13 @@ void ExtensionService::Observe(int type,
break;
}
case chrome::NOTIFICATION_PREF_CHANGED: {
- std::string* pref_name = content::Details<std::string>(details).ptr();
- if (*pref_name == prefs::kExtensionInstallAllowList ||
- *pref_name == prefs::kExtensionInstallDenyList) {
- IdentifyAlertableExtensions();
- CheckManagementPolicy();
- } else {
- NOTREACHED() << "Unexpected preference name.";
- }
+ const std::string& pref_name =
+ *content::Details<std::string>(details).ptr();
+ DCHECK(pref_name == prefs::kExtensionInstallAllowList ||
+ pref_name == prefs::kExtensionInstallDenyList)
+ << "Unexpected preference name " << pref_name;
+ IdentifyAlertableExtensions();
+ CheckManagementPolicy();
break;
}
case chrome::NOTIFICATION_IMPORT_FINISHED: {
diff --git a/chrome/browser/extensions/external_policy_loader.cc b/chrome/browser/extensions/external_policy_loader.cc
index a93fe0f..5a3cbf9 100644
--- a/chrome/browser/extensions/external_policy_loader.cc
+++ b/chrome/browser/extensions/external_policy_loader.cc
@@ -82,12 +82,9 @@ void ExternalPolicyLoader::Observe(
switch (type) {
case chrome::NOTIFICATION_PREF_CHANGED: {
if (content::Source<PrefService>(source).ptr() == profile_->GetPrefs()) {
- std::string* pref_name = content::Details<std::string>(details).ptr();
- if (*pref_name == prefs::kExtensionInstallForceList) {
- StartLoading();
- } else {
- NOTREACHED() << "Unexpected preference name.";
- }
+ DCHECK_EQ(std::string(prefs::kExtensionInstallForceList),
+ *content::Details<std::string>(details).ptr());
+ StartLoading();
}
break;
}