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_ 42