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 c6e5cf5dd0e23abdd831faddb1db6084670b4ec3..5c3ff9b8ed5470eb1c5071890a416a2981ed1679 100644 |
--- a/chrome/browser/net/ssl_config_service_manager_pref.cc |
+++ b/chrome/browser/net/ssl_config_service_manager_pref.cc |
@@ -3,16 +3,12 @@ |
// found in the LICENSE file. |
#include "base/message_loop.h" |
-#include "base/threading/thread.h" |
-#include "chrome/browser/browser_process.h" |
-#include "chrome/browser/io_thread.h" |
#include "chrome/browser/net/ssl_config_service_manager.h" |
#include "chrome/browser/prefs/pref_member.h" |
#include "chrome/browser/prefs/pref_service.h" |
+#include "chrome/common/chrome_notification_types.h" |
#include "chrome/common/pref_names.h" |
-#include "content/common/content_notification_types.h" |
-#include "content/common/notification_details.h" |
-#include "content/common/notification_source.h" |
+#include "content/browser/browser_thread.h" |
#include "net/base/ssl_config_service.h" |
//////////////////////////////////////////////////////////////////////////////// |
@@ -65,12 +61,12 @@ class SSLConfigServiceManagerPref |
explicit SSLConfigServiceManagerPref(PrefService* local_state); |
virtual ~SSLConfigServiceManagerPref() {} |
- virtual net::SSLConfigService* Get(); |
- |
- private: |
// Register local_state SSL preferences. |
static void RegisterPrefs(PrefService* prefs); |
+ virtual net::SSLConfigService* Get(); |
+ |
+ private: |
// Callback for preference changes. This will post the changes to the IO |
// thread with SetNewSSLConfig. |
virtual void Observe(int type, |
@@ -96,8 +92,6 @@ SSLConfigServiceManagerPref::SSLConfigServiceManagerPref( |
: ssl_config_service_(new SSLConfigServicePref()) { |
DCHECK(local_state); |
- RegisterPrefs(local_state); |
- |
rev_checking_enabled_.Init(prefs::kCertRevocationCheckingEnabled, |
local_state, this); |
ssl3_enabled_.Init(prefs::kSSL3Enabled, local_state, this); |
@@ -111,18 +105,12 @@ SSLConfigServiceManagerPref::SSLConfigServiceManagerPref( |
// static |
void SSLConfigServiceManagerPref::RegisterPrefs(PrefService* prefs) { |
net::SSLConfig default_config; |
- if (!prefs->FindPreference(prefs::kCertRevocationCheckingEnabled)) { |
- prefs->RegisterBooleanPref(prefs::kCertRevocationCheckingEnabled, |
- default_config.rev_checking_enabled); |
- } |
- if (!prefs->FindPreference(prefs::kSSL3Enabled)) { |
- prefs->RegisterBooleanPref(prefs::kSSL3Enabled, |
- default_config.ssl3_enabled); |
- } |
- if (!prefs->FindPreference(prefs::kTLS1Enabled)) { |
- prefs->RegisterBooleanPref(prefs::kTLS1Enabled, |
- default_config.tls1_enabled); |
- } |
+ prefs->RegisterBooleanPref(prefs::kCertRevocationCheckingEnabled, |
+ default_config.rev_checking_enabled); |
+ prefs->RegisterBooleanPref(prefs::kSSL3Enabled, |
+ default_config.ssl3_enabled); |
+ prefs->RegisterBooleanPref(prefs::kTLS1Enabled, |
+ default_config.tls1_enabled); |
} |
net::SSLConfigService* SSLConfigServiceManagerPref::Get() { |
@@ -132,14 +120,15 @@ net::SSLConfigService* SSLConfigServiceManagerPref::Get() { |
void SSLConfigServiceManagerPref::Observe(int type, |
const NotificationSource& source, |
const NotificationDetails& details) { |
- base::Thread* io_thread = g_browser_process->io_thread(); |
- if (io_thread) { |
+ if (type == chrome::NOTIFICATION_PREF_CHANGED) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
net::SSLConfig new_config; |
GetSSLConfigFromPrefs(&new_config); |
// Post a task to |io_loop| with the new configuration, so it can |
// update |cached_config_|. |
- io_thread->message_loop()->PostTask( |
+ BrowserThread::PostTask( |
+ BrowserThread::IO, |
FROM_HERE, |
NewRunnableMethod( |
ssl_config_service_.get(), |
@@ -164,3 +153,8 @@ SSLConfigServiceManager* SSLConfigServiceManager::CreateDefaultManager( |
PrefService* local_state) { |
return new SSLConfigServiceManagerPref(local_state); |
} |
+ |
+// static |
+void SSLConfigServiceManager::RegisterPrefs(PrefService* prefs) { |
+ SSLConfigServiceManagerPref::RegisterPrefs(prefs); |
+} |