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

Unified Diff: chrome/browser/net/ssl_config_service_manager_pref.cc

Issue 7776002: Add back prefs::kSSL3Enabled and prefs::kTLS1Enabled, but control (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 4 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
« no previous file with comments | « no previous file | chrome/browser/prefs/command_line_pref_store.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/net/ssl_config_service_manager_pref.cc
===================================================================
--- chrome/browser/net/ssl_config_service_manager_pref.cc (revision 98542)
+++ chrome/browser/net/ssl_config_service_manager_pref.cc (working copy)
@@ -8,12 +8,10 @@
#include <vector>
#include "base/basictypes.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"
@@ -128,6 +126,9 @@
// only be called from UI thread.
void GetSSLConfigFromPrefs(net::SSLConfig* config);
+ void OnSSL3EnabledChange(PrefService* prefs);
+ void OnTLS1EnabledChange(PrefService* prefs);
+
// Processes changes to the disabled cipher suites preference, updating the
// cached list of parsed SSL/TLS cipher suites that are disabled.
void OnDisabledCipherSuitesChange(PrefService* prefs);
@@ -137,6 +138,10 @@
// The prefs (should only be accessed from UI thread)
BooleanPrefMember rev_checking_enabled_;
+ // The cached booleans of enabled SSL/TLS versions.
+ bool ssl3_enabled_;
Ryan Sleevi 2011/08/27 14:14:42 nit: You can probably simplify things just using a
wtc 2011/08/27 20:27:06 Thanks a lot for the suggestion of using a Boolean
+ bool tls1_enabled_;
+
// The cached list of disabled SSL cipher suites.
std::vector<uint16> disabled_cipher_suites_;
@@ -153,8 +158,12 @@
rev_checking_enabled_.Init(prefs::kCertRevocationCheckingEnabled,
local_state, this);
pref_change_registrar_.Init(local_state);
+ pref_change_registrar_.Add(prefs::kSSL3Enabled, this);
+ pref_change_registrar_.Add(prefs::kTLS1Enabled, this);
pref_change_registrar_.Add(prefs::kCipherSuiteBlacklist, this);
+ OnSSL3EnabledChange(local_state);
+ OnTLS1EnabledChange(local_state);
OnDisabledCipherSuitesChange(local_state);
// Initialize from UI thread. This is okay as there shouldn't be anything on
// the IO thread trying to access it yet.
@@ -166,6 +175,10 @@
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);
}
@@ -181,6 +194,10 @@
std::string* pref_name_in = Details<std::string>(details).ptr();
PrefService* prefs = Source<PrefService>(source).ptr();
DCHECK(pref_name_in && prefs);
+ if (*pref_name_in == prefs::kSSL3Enabled)
+ OnSSL3EnabledChange(prefs);
+ if (*pref_name_in == prefs::kTLS1Enabled)
Ryan Sleevi 2011/08/27 14:14:42 nit: else if here and line 201?
+ OnTLS1EnabledChange(prefs);
if (*pref_name_in == prefs::kCipherSuiteBlacklist)
OnDisabledCipherSuitesChange(prefs);
@@ -202,16 +219,20 @@
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_;
+ config->tls1_enabled = tls1_enabled_;
config->disabled_cipher_suites = disabled_cipher_suites_;
SSLConfigServicePref::SetSSLConfigFlags(config);
}
+void SSLConfigServiceManagerPref::OnSSL3EnabledChange(PrefService* prefs) {
+ ssl3_enabled_ = prefs->GetBoolean(prefs::kSSL3Enabled);
+}
+
+void SSLConfigServiceManagerPref::OnTLS1EnabledChange(PrefService* prefs) {
+ tls1_enabled_ = prefs->GetBoolean(prefs::kTLS1Enabled);
+}
+
void SSLConfigServiceManagerPref::OnDisabledCipherSuitesChange(
PrefService* prefs) {
const ListValue* value = prefs->GetList(prefs::kCipherSuiteBlacklist);
« no previous file with comments | « no previous file | chrome/browser/prefs/command_line_pref_store.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698