diff options
author | lzheng@chromium.org <lzheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-21 06:56:53 +0000 |
---|---|---|
committer | lzheng@chromium.org <lzheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-21 06:56:53 +0000 |
commit | 65041fa2a7d79cbd289d6bfa05a55bfb32ec4fa3 (patch) | |
tree | 5ba89200e8bdc109b64b9327fad2bc563bc03406 /net/http/http_response_info.cc | |
parent | 5ea89fbf0d7647669fc91dda7fe944d8f2ef1f1c (diff) | |
download | chromium_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.cc | 10 |
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; |