| Index: chrome/browser/net/ssl_config_service_manager_pref.cc
|
| ===================================================================
|
| --- chrome/browser/net/ssl_config_service_manager_pref.cc (revision 104908)
|
| +++ chrome/browser/net/ssl_config_service_manager_pref.cc (working copy)
|
| @@ -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/browser/browser_thread.h"
|
| #include "content/common/notification_details.h"
|
| @@ -137,6 +135,8 @@
|
|
|
| // 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_;
|
| @@ -153,6 +153,8 @@
|
|
|
| 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);
|
|
|
| @@ -167,7 +169,16 @@
|
| 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() {
|
| @@ -203,12 +214,8 @@
|
| 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);
|
| }
|
|
|