summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net/preconnect.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/net/preconnect.cc')
-rw-r--r--chrome/browser/net/preconnect.cc36
1 files changed, 4 insertions, 32 deletions
diff --git a/chrome/browser/net/preconnect.cc b/chrome/browser/net/preconnect.cc
index b5fd87b..e6c1fd4 100644
--- a/chrome/browser/net/preconnect.cc
+++ b/chrome/browser/net/preconnect.cc
@@ -1,4 +1,5 @@
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011, 2012 Code Aurora Forum. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -32,12 +33,11 @@ void PreconnectOnUIThread(
return;
}
-
void PreconnectOnIOThread(
const GURL& url,
UrlInfo::ResolutionMotivation motivation,
int count) {
- net::URLRequestContextGetter* getter = Profile::GetDefaultRequestContext();
+ URLRequestContextGetter* getter = Profile::GetDefaultRequestContext();
if (!getter)
return;
if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) {
@@ -53,26 +53,9 @@ void PreconnectOnIOThread(
net::HttpTransactionFactory* factory = context->http_transaction_factory();
net::HttpNetworkSession* session = factory->GetSession();
- net::HttpRequestInfo request_info;
- request_info.url = url;
- request_info.method = "GET";
- request_info.extra_headers.SetHeader(net::HttpRequestHeaders::kUserAgent,
- context->GetUserAgent(url));
- // It almost doesn't matter whether we use net::LOWEST or net::HIGHEST
- // priority here, as we won't make a request, and will surrender the created
- // socket to the pool as soon as we can. However, we would like to mark the
- // speculative socket as such, and IF we use a net::LOWEST priority, and if
- // a navigation asked for a socket (after us) then it would get our socket,
- // and we'd get its later-arriving socket, which might make us record that
- // the speculation didn't help :-/. By using net::HIGHEST, we ensure that
- // a socket is given to us if "we asked first" and this allows us to mark it
- // as speculative, and better detect stats (if it gets used).
- // TODO(jar): histogram to see how often we accidentally use a previously-
- // unused socket, when a previously used socket was available.
- request_info.priority = net::HIGHEST;
-
// Translate the motivation from UrlRequest motivations to HttpRequest
// motivations.
+ net::HttpRequestInfo::RequestMotivation motivation_;
switch (motivation) {
case UrlInfo::OMNIBOX_MOTIVATED:
request_info.motivation = net::HttpRequestInfo::OMNIBOX_MOTIVATED;
@@ -90,18 +73,7 @@ void PreconnectOnIOThread(
break;
}
- // Setup the SSL Configuration.
- net::SSLConfig ssl_config;
- session->ssl_config_service()->GetSSLConfig(&ssl_config);
- if (session->http_stream_factory()->next_protos())
- ssl_config.next_protos = *session->http_stream_factory()->next_protos();
-
- // All preconnects should perform EV certificate verification.
- ssl_config.verify_ev_cert = true;
-
- net::HttpStreamFactory* http_stream_factory = session->http_stream_factory();
- http_stream_factory->PreconnectStreams(
- count, request_info, ssl_config, net::BoundNetLog());
+ net::Preconnect::DoPreconnect(session, url, count, motivation_);
}
} // namespace chrome_browser_net