| 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 ffb13946ad8a734d1c84ce2ae9f1fe17a4df1a80..af3683bd2759798f4c8520f9a83a4cc8a63e26d4 100644
|
| --- a/chrome/browser/net/ssl_config_service_manager_pref.cc
|
| +++ b/chrome/browser/net/ssl_config_service_manager_pref.cc
|
| @@ -9,12 +9,10 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "base/bind.h"
|
| -#include "base/command_line.h"
|
| #include "chrome/browser/prefs/pref_change_registrar.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/chrome_switches.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/notification_details.h"
|
| @@ -138,6 +136,8 @@ class SSLConfigServiceManagerPref
|
|
|
| // The prefs (should only be accessed from UI thread)
|
| BooleanPrefMember rev_checking_enabled_;
|
| + BooleanPrefMember ssl3_enabled_;
|
| + BooleanPrefMember tls1_enabled_;
|
|
|
| // The cached list of disabled SSL cipher suites.
|
| std::vector<uint16> disabled_cipher_suites_;
|
| @@ -154,6 +154,8 @@ SSLConfigServiceManagerPref::SSLConfigServiceManagerPref(
|
|
|
| rev_checking_enabled_.Init(prefs::kCertRevocationCheckingEnabled,
|
| local_state, this);
|
| + ssl3_enabled_.Init(prefs::kSSL3Enabled, local_state, this);
|
| + tls1_enabled_.Init(prefs::kTLS1Enabled, local_state, this);
|
| pref_change_registrar_.Init(local_state);
|
| pref_change_registrar_.Add(prefs::kCipherSuiteBlacklist, this);
|
|
|
| @@ -168,7 +170,16 @@ void SSLConfigServiceManagerPref::RegisterPrefs(PrefService* prefs) {
|
| net::SSLConfig default_config;
|
| 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);
|
| prefs->RegisterListPref(prefs::kCipherSuiteBlacklist);
|
| + // The Options menu used to allow changing the ssl.ssl3.enabled and
|
| + // ssl.tls1.enabled preferences, so some users' Local State may have
|
| + // these preferences. Remove them from Local State.
|
| + prefs->ClearPref(prefs::kSSL3Enabled);
|
| + prefs->ClearPref(prefs::kTLS1Enabled);
|
| }
|
|
|
| net::SSLConfigService* SSLConfigServiceManagerPref::Get() {
|
| @@ -205,12 +216,8 @@ void SSLConfigServiceManagerPref::Observe(
|
| void SSLConfigServiceManagerPref::GetSSLConfigFromPrefs(
|
| net::SSLConfig* config) {
|
| config->rev_checking_enabled = rev_checking_enabled_.GetValue();
|
| -
|
| - config->ssl3_enabled =
|
| - !CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableSSL3);
|
| - config->tls1_enabled =
|
| - !CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableTLS1);
|
| -
|
| + config->ssl3_enabled = ssl3_enabled_.GetValue();
|
| + config->tls1_enabled = tls1_enabled_.GetValue();
|
| config->disabled_cipher_suites = disabled_cipher_suites_;
|
| SSLConfigServicePref::SetSSLConfigFlags(config);
|
| }
|
|
|