| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // A Predictor object is instantiated once in the browser process, and manages | 5 // A Predictor object is instantiated once in the browser process, and manages |
| 6 // both preresolution of hostnames, as well as TCP/IP preconnection to expected | 6 // both preresolution of hostnames, as well as TCP/IP preconnection to expected |
| 7 // subresources. | 7 // subresources. |
| 8 // Most hostname lists are provided by the renderer processes, and include URLs | 8 // Most hostname lists are provided by the renderer processes, and include URLs |
| 9 // that *might* be used in the near future by the browsing user. One goal of | 9 // that *might* be used in the near future by the browsing user. One goal of |
| 10 // this class is to cause the underlying DNS structure to lookup a hostname | 10 // this class is to cause the underlying DNS structure to lookup a hostname |
| (...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 // If we can determine immediately (i.e. synchronously) that requests to this | 477 // If we can determine immediately (i.e. synchronously) that requests to this |
| 478 // URL would likely go through a proxy, then return true. Otherwise, return | 478 // URL would likely go through a proxy, then return true. Otherwise, return |
| 479 // false. This is used to avoid issuing DNS requests when a fixed proxy | 479 // false. This is used to avoid issuing DNS requests when a fixed proxy |
| 480 // configuration is in place, which improves efficiency, and is also important | 480 // configuration is in place, which improves efficiency, and is also important |
| 481 // if the unproxied DNS may contain incorrect entries. | 481 // if the unproxied DNS may contain incorrect entries. |
| 482 bool WouldLikelyProxyURL(const GURL& url); | 482 bool WouldLikelyProxyURL(const GURL& url); |
| 483 | 483 |
| 484 // Applies the HSTS redirect for |url|, if any. | 484 // Applies the HSTS redirect for |url|, if any. |
| 485 GURL GetHSTSRedirectOnIOThread(const GURL& url); | 485 GURL GetHSTSRedirectOnIOThread(const GURL& url); |
| 486 | 486 |
| 487 void LogStartupMetrics(); |
| 488 |
| 487 // ------------- End IO thread methods. | 489 // ------------- End IO thread methods. |
| 488 | 490 |
| 489 std::unique_ptr<InitialObserver> initial_observer_; | 491 std::unique_ptr<InitialObserver> initial_observer_; |
| 490 | 492 |
| 491 // Reference to URLRequestContextGetter from the Profile which owns the | 493 // Reference to URLRequestContextGetter from the Profile which owns the |
| 492 // predictor. Used by Preconnect. | 494 // predictor. Used by Preconnect. |
| 493 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_; | 495 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_; |
| 494 | 496 |
| 495 // Status of speculative DNS resolution and speculative TCP/IP connection | 497 // Status of speculative DNS resolution and speculative TCP/IP connection |
| 496 // feature. This is false if and only if disabled by a command line switch. | 498 // feature. This is false if and only if disabled by a command line switch. |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 597 | 599 |
| 598 private: | 600 private: |
| 599 // These member functions return True for unittests. | 601 // These member functions return True for unittests. |
| 600 bool CanPrefetchAndPrerender() const override; | 602 bool CanPrefetchAndPrerender() const override; |
| 601 bool CanPreresolveAndPreconnect() const override; | 603 bool CanPreresolveAndPreconnect() const override; |
| 602 }; | 604 }; |
| 603 | 605 |
| 604 } // namespace chrome_browser_net | 606 } // namespace chrome_browser_net |
| 605 | 607 |
| 606 #endif // CHROME_BROWSER_NET_PREDICTOR_H_ | 608 #endif // CHROME_BROWSER_NET_PREDICTOR_H_ |
| OLD | NEW |