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

Unified Diff: chrome/browser/net/ssl_config_service_manager_pref.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/net/ssl_config_service_manager_pref.cc
diff --git a/chrome/browser/net/ssl_config_service_manager_pref.cc b/chrome/browser/net/ssl_config_service_manager_pref.cc
index 86cc79267172371d1a546966a1f7480586e08519..f761d05bc6d829c94335a28273bc26280818b3a5 100644
--- a/chrome/browser/net/ssl_config_service_manager_pref.cc
+++ b/chrome/browser/net/ssl_config_service_manager_pref.cc
@@ -10,6 +10,7 @@
#include "base/basictypes.h"
#include "base/bind.h"
#include "base/prefs/public/pref_change_registrar.h"
+#include "base/prefs/public/pref_observer.h"
#include "chrome/browser/api/prefs/pref_member.h"
#include "chrome/browser/content_settings/content_settings_utils.h"
#include "chrome/browser/prefs/pref_service.h"
@@ -17,8 +18,6 @@
#include "chrome/common/content_settings.h"
#include "chrome/common/pref_names.h"
#include "content/public/browser/browser_thread.h"
-#include "content/public/browser/notification_details.h"
-#include "content/public/browser/notification_source.h"
#include "net/base/ssl_cipher_suite_names.h"
#include "net/base/ssl_config_service.h"
@@ -145,7 +144,7 @@ void SSLConfigServicePref::SetNewSSLConfig(
// The manager for holding and updating an SSLConfigServicePref instance.
class SSLConfigServiceManagerPref
: public SSLConfigServiceManager,
- public content::NotificationObserver {
+ public PrefObserver {
public:
SSLConfigServiceManagerPref(PrefService* local_state,
PrefService* user_prefs);
@@ -159,9 +158,8 @@ class SSLConfigServiceManagerPref
private:
// Callback for preference changes. This will post the changes to the IO
// thread with SetNewSSLConfig.
- virtual void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details);
+ virtual void OnPreferenceChanged(PrefServiceBase* service,
+ const std::string& pref_name) OVERRIDE;
// Store SSL config settings in |config|, directly from the preferences. Must
// only be called from UI thread.
@@ -255,33 +253,29 @@ net::SSLConfigService* SSLConfigServiceManagerPref::Get() {
return ssl_config_service_;
}
-void SSLConfigServiceManagerPref::Observe(
- int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) {
- if (type == chrome::NOTIFICATION_PREF_CHANGED) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- std::string* pref_name_in = content::Details<std::string>(details).ptr();
- PrefService* prefs = content::Source<PrefService>(source).ptr();
- DCHECK(pref_name_in && prefs);
- if (*pref_name_in == prefs::kCipherSuiteBlacklist)
- OnDisabledCipherSuitesChange(prefs);
- else if (*pref_name_in == prefs::kDefaultContentSettings)
- OnDefaultContentSettingsChange(prefs);
-
- net::SSLConfig new_config;
- GetSSLConfigFromPrefs(&new_config);
-
- // Post a task to |io_loop| with the new configuration, so it can
- // update |cached_config_|.
- BrowserThread::PostTask(
- BrowserThread::IO,
- FROM_HERE,
- base::Bind(
- &SSLConfigServicePref::SetNewSSLConfig,
- ssl_config_service_.get(),
- new_config));
- }
+void SSLConfigServiceManagerPref::OnPreferenceChanged(
+ PrefServiceBase* service,
+ const std::string& pref_name_in) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(service);
+ PrefService* prefs = static_cast<PrefService*>(service);
Mattias Nissler (ping if slow) 2012/10/31 13:29:35 Can we do with a PrefServiceBase* instead?
Jói 2012/10/31 14:56:26 Done.
+ if (pref_name_in == prefs::kCipherSuiteBlacklist)
+ OnDisabledCipherSuitesChange(prefs);
+ else if (pref_name_in == prefs::kDefaultContentSettings)
+ OnDefaultContentSettingsChange(prefs);
+
+ net::SSLConfig new_config;
+ GetSSLConfigFromPrefs(&new_config);
+
+ // Post a task to |io_loop| with the new configuration, so it can
+ // update |cached_config_|.
+ BrowserThread::PostTask(
+ BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(
+ &SSLConfigServicePref::SetNewSSLConfig,
+ ssl_config_service_.get(),
+ new_config));
}
void SSLConfigServiceManagerPref::GetSSLConfigFromPrefs(

Powered by Google App Engine
This is Rietveld 408576698