summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authordavidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-18 23:39:52 +0000
committerdavidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-18 23:39:52 +0000
commita0deaecf001cf21b043c968d10200307d4105ec2 (patch)
treee65a114afed3be4c39e0ad7bb217a5a2638bfcef /chrome
parentda81f13c4d59797f9a83c35a8acc544138df499f (diff)
downloadchromium_src-a0deaecf001cf21b043c968d10200307d4105ec2.zip
chromium_src-a0deaecf001cf21b043c968d10200307d4105ec2.tar.gz
chromium_src-a0deaecf001cf21b043c968d10200307d4105ec2.tar.bz2
Add a command-line flag to disable SSL/TLS False Start
Some servers are not compatible with False Start. Adding a command-line flag will make it easier to test and verify such cases. Also, blacklist www.picnik.com as incompatible with False Start. BUG=50650 TEST=see bug Review URL: http://codereview.chromium.org/3167015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56622 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/browser_main.cc2
-rw-r--r--chrome/browser/net/ssl_config_service_manager_pref.cc1
-rw-r--r--chrome/common/chrome_switches.cc3
-rw-r--r--chrome/common/chrome_switches.h1
4 files changed, 7 insertions, 0 deletions
diff --git a/chrome/browser/browser_main.cc b/chrome/browser/browser_main.cc
index b5fa926..9730dbe 100644
--- a/chrome/browser/browser_main.cc
+++ b/chrome/browser/browser_main.cc
@@ -178,6 +178,8 @@ void BrowserMainParts::EarlyInitialization() {
if (parsed_command_line().HasSwitch(switches::kEnableDNSSECCerts))
net::SSLConfigService::EnableDNSSEC();
+ if (parsed_command_line().HasSwitch(switches::kDisableSSLFalseStart))
+ net::SSLConfigService::DisableFalseStart();
PostEarlyInitialization();
}
diff --git a/chrome/browser/net/ssl_config_service_manager_pref.cc b/chrome/browser/net/ssl_config_service_manager_pref.cc
index c729d0e..23954c1 100644
--- a/chrome/browser/net/ssl_config_service_manager_pref.cc
+++ b/chrome/browser/net/ssl_config_service_manager_pref.cc
@@ -146,6 +146,7 @@ void SSLConfigServiceManagerPref::GetSSLConfigFromPrefs(
config->ssl3_enabled = ssl3_enabled_.GetValue();
config->tls1_enabled = tls1_enabled_.GetValue();
config->dnssec_enabled = net::SSLConfigService::dnssec_enabled();
+ config->false_start_enabled = net::SSLConfigService::false_start_enabled();
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index 5dfeb0c..6d55c59 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -226,6 +226,9 @@ const char kDisableSharedWorkers[] = "disable-shared-workers";
// Disable site-specific tailoring to compatibility issues in WebKit.
const char kDisableSiteSpecificQuirks[] = "disable-site-specific-quirks";
+// Disable False Start in SSL and TLS connections.
+const char kDisableSSLFalseStart[] = "disable-ssl-false-start";
+
// Disable syncing browser data to a Google Account.
const char kDisableSync[] = "disable-sync";
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index 770f6d9..a0636d7 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -79,6 +79,7 @@ extern const char kDisableRendererAccessibility[];
extern const char kDisableSessionStorage[];
extern const char kDisableSharedWorkers[];
extern const char kDisableSiteSpecificQuirks[];
+extern const char kDisableSSLFalseStart[];
extern const char kDisableSync[];
extern const char kDisableSyncApps[];
extern const char kDisableSyncAutofill[];