diff options
author | thestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-31 01:47:06 +0000 |
---|---|---|
committer | thestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-31 01:47:06 +0000 |
commit | 46e093034af918b8db93ef413ad2c8c9ef618ab4 (patch) | |
tree | 02c60da16b3c7012b9ca414188f8a704d48c831e /chrome/browser/content_settings | |
parent | 432ee959da7de103f4b3e5ac17c50a62fcc667b0 (diff) | |
download | chromium_src-46e093034af918b8db93ef413ad2c8c9ef618ab4.zip chromium_src-46e093034af918b8db93ef413ad2c8c9ef618ab4.tar.gz chromium_src-46e093034af918b8db93ef413ad2c8c9ef618ab4.tar.bz2 |
Cleanup: Simplify some extensions / content_settings Observer code by simply DCHECKING instead of using if + NOTREACHED().
Review URL: https://chromiumcodereview.appspot.com/11307020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165090 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/content_settings')
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); } } |