1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // A Preconnect instance maintains state while a TCP/IP connection is made, and
6 // and then released into the pool of available connections for future use.
8 #ifndef CHROME_BROWSER_NET_PRECONNECT_H_
9 #define CHROME_BROWSER_NET_PRECONNECT_H_
11 #include "chrome/browser/net/url_info.h"
16 class URLRequestContextGetter
;
19 namespace chrome_browser_net
{
21 // Try to preconnect. Typically motivated by OMNIBOX to reach search service.
22 // |count| may be used to request more than one connection be established in
24 void PreconnectOnUIThread(const GURL
& url
,
25 const GURL
& first_party_for_cookies
,
26 UrlInfo::ResolutionMotivation motivation
,
28 net::URLRequestContextGetter
* getter
);
30 // Try to preconnect. Typically used by predictor when a subresource probably
31 // needs a connection. |count| may be used to request more than one connection
32 // be established in parallel.
33 void PreconnectOnIOThread(const GURL
& url
,
34 const GURL
& first_party_for_cookies
,
35 UrlInfo::ResolutionMotivation motivation
,
37 net::URLRequestContextGetter
* getter
,
38 bool allow_credentials
);
40 } // namespace chrome_browser_net
42 #endif // CHROME_BROWSER_NET_PRECONNECT_H_