summaryrefslogtreecommitdiffstats
path: root/net/http/http_response_info.cc
diff options
context:
space:
mode:
authorlzheng@chromium.org <lzheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-21 06:56:53 +0000
committerlzheng@chromium.org <lzheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-21 06:56:53 +0000
commit65041fa2a7d79cbd289d6bfa05a55bfb32ec4fa3 (patch)
tree5ba89200e8bdc109b64b9327fad2bc563bc03406 /net/http/http_response_info.cc
parent5ea89fbf0d7647669fc91dda7fe944d8f2ef1f1c (diff)
downloadchromium_src-65041fa2a7d79cbd289d6bfa05a55bfb32ec4fa3.zip
chromium_src-65041fa2a7d79cbd289d6bfa05a55bfb32ec4fa3.tar.gz
chromium_src-65041fa2a7d79cbd289d6bfa05a55bfb32ec4fa3.tar.bz2
This change enables FieldTrial for SPDY. When --use-spdy=npn is used, field test won't be enabled.
However, when that flag is missing, A/B test is added to browser_main.cc. Trial A: use npn and spdy. B: use npn but no spdy. C: do nothing. A and B are set to zero for now The histograms we collect are: 1. Page begin to finish time when spdy is enabled/disabled across all sites; 2. Page begin to finish time when spdy is used on sites that support spdy and when spdy is intentionally ignored. BUG=43997 TEST=Don't use --use-spdy=npn, manually change _npn_nospdy and _npn_withspdy percentile and go to spdy supported sites. Review URL: http://codereview.chromium.org/2036012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47896 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_response_info.cc')
-rw-r--r--net/http/http_response_info.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/net/http/http_response_info.cc b/net/http/http_response_info.cc
index 3ce8cdd..d1e7911 100644
--- a/net/http/http_response_info.cc
+++ b/net/http/http_response_info.cc
@@ -41,7 +41,10 @@ enum {
// This bit is set if the response was received via SPDY.
RESPONSE_INFO_WAS_SPDY = 1 << 13,
- // This bit is set if the response was received via SPDY.
+ // This bit is set if the request has NPN negotiated.
+ RESPONSE_INFO_WAS_NPN = 1 << 14,
+
+ // This bit is set if the request was fetched via an explicit proxy.
RESPONSE_INFO_WAS_PROXY = 1 << 15,
// TODO(darin): Add other bits to indicate alternate request methods.
@@ -51,6 +54,7 @@ enum {
HttpResponseInfo::HttpResponseInfo()
: was_cached(false),
was_fetched_via_spdy(false),
+ was_npn_negotiated(false),
was_fetched_via_proxy(false) {
}
@@ -113,6 +117,8 @@ bool HttpResponseInfo::InitFromPickle(const Pickle& pickle,
was_fetched_via_spdy = (flags & RESPONSE_INFO_WAS_SPDY) != 0;
+ was_npn_negotiated = (flags & RESPONSE_INFO_WAS_NPN) != 0;
+
was_fetched_via_proxy = (flags & RESPONSE_INFO_WAS_PROXY) != 0;
*response_truncated = (flags & RESPONSE_INFO_TRUNCATED) ? true : false;
@@ -136,6 +142,8 @@ void HttpResponseInfo::Persist(Pickle* pickle,
flags |= RESPONSE_INFO_TRUNCATED;
if (was_fetched_via_spdy)
flags |= RESPONSE_INFO_WAS_SPDY;
+ if (was_npn_negotiated)
+ flags |= RESPONSE_INFO_WAS_NPN;
if (was_fetched_via_proxy)
flags |= RESPONSE_INFO_WAS_PROXY;