- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / net / preconnect.h
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.
4
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.
7
8 #ifndef CHROME_BROWSER_NET_PRECONNECT_H_
9 #define CHROME_BROWSER_NET_PRECONNECT_H_
10
11 #include "chrome/browser/net/url_info.h"
12
13 class GURL;
14
15 namespace net {
16 class URLRequestContextGetter;
17 }
18
19 namespace chrome_browser_net {
20
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
23 // parallel.
24 void PreconnectOnUIThread(const GURL& url,
25                           const GURL& first_party_for_cookies,
26                           UrlInfo::ResolutionMotivation motivation,
27                           int count,
28                           net::URLRequestContextGetter* getter);
29
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,
36                           int count,
37                           net::URLRequestContextGetter* getter);
38
39 }  // namespace chrome_browser_net
40
41 #endif  // CHROME_BROWSER_NET_PRECONNECT_H_