| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCHER_H_ | 5 #ifndef CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCHER_H_ |
| 6 #define CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCHER_H_ | 6 #define CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCHER_H_ |
| 7 | 7 |
| 8 #include <list> | 8 #include <list> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 // be cached correctly. Stubbed out during testing. | 118 // be cached correctly. Stubbed out during testing. |
| 119 virtual void ReadFullResponse(net::URLRequest* request); | 119 virtual void ReadFullResponse(net::URLRequest* request); |
| 120 | 120 |
| 121 // Returns true if the request has more data that needs to be read. If it | 121 // Returns true if the request has more data that needs to be read. If it |
| 122 // returns false, the request should not be referenced again. | 122 // returns false, the request should not be referenced again. |
| 123 bool ShouldContinueReadingRequest(net::URLRequest* request, int bytes_read); | 123 bool ShouldContinueReadingRequest(net::URLRequest* request, int bytes_read); |
| 124 | 124 |
| 125 // net::URLRequest::Delegate methods. | 125 // net::URLRequest::Delegate methods. |
| 126 virtual void OnReceivedRedirect(net::URLRequest* request, | 126 virtual void OnReceivedRedirect(net::URLRequest* request, |
| 127 const net::RedirectInfo& redirect_info, | 127 const net::RedirectInfo& redirect_info, |
| 128 bool* defer_redirect) OVERRIDE; | 128 bool* defer_redirect) override; |
| 129 virtual void OnAuthRequired(net::URLRequest* request, | 129 virtual void OnAuthRequired(net::URLRequest* request, |
| 130 net::AuthChallengeInfo* auth_info) OVERRIDE; | 130 net::AuthChallengeInfo* auth_info) override; |
| 131 virtual void OnCertificateRequested( | 131 virtual void OnCertificateRequested( |
| 132 net::URLRequest* request, | 132 net::URLRequest* request, |
| 133 net::SSLCertRequestInfo* cert_request_info) OVERRIDE; | 133 net::SSLCertRequestInfo* cert_request_info) override; |
| 134 virtual void OnSSLCertificateError(net::URLRequest* request, | 134 virtual void OnSSLCertificateError(net::URLRequest* request, |
| 135 const net::SSLInfo& ssl_info, | 135 const net::SSLInfo& ssl_info, |
| 136 bool fatal) OVERRIDE; | 136 bool fatal) override; |
| 137 virtual void OnResponseStarted(net::URLRequest* request) OVERRIDE; | 137 virtual void OnResponseStarted(net::URLRequest* request) override; |
| 138 virtual void OnReadCompleted(net::URLRequest* request, | 138 virtual void OnReadCompleted(net::URLRequest* request, |
| 139 int bytes_read) OVERRIDE; | 139 int bytes_read) override; |
| 140 | 140 |
| 141 enum PrefetcherState { | 141 enum PrefetcherState { |
| 142 INITIALIZED = 0, // Prefetching hasn't started. | 142 INITIALIZED = 0, // Prefetching hasn't started. |
| 143 RUNNING = 1, // Prefetching started, allowed to add more requests. | 143 RUNNING = 1, // Prefetching started, allowed to add more requests. |
| 144 STOPPED = 2, // Prefetching started, not allowed to add more requests. | 144 STOPPED = 2, // Prefetching started, not allowed to add more requests. |
| 145 FINISHED = 3 // No more inflight request, new requests not possible. | 145 FINISHED = 3 // No more inflight request, new requests not possible. |
| 146 }; | 146 }; |
| 147 | 147 |
| 148 base::ThreadChecker thread_checker_; | 148 base::ThreadChecker thread_checker_; |
| 149 PrefetcherState state_; | 149 PrefetcherState state_; |
| 150 Delegate* const delegate_; | 150 Delegate* const delegate_; |
| 151 ResourcePrefetchPredictorConfig const config_; | 151 ResourcePrefetchPredictorConfig const config_; |
| 152 NavigationID navigation_id_; | 152 NavigationID navigation_id_; |
| 153 PrefetchKeyType key_type_; | 153 PrefetchKeyType key_type_; |
| 154 scoped_ptr<RequestVector> request_vector_; | 154 scoped_ptr<RequestVector> request_vector_; |
| 155 | 155 |
| 156 std::map<net::URLRequest*, Request*> inflight_requests_; | 156 std::map<net::URLRequest*, Request*> inflight_requests_; |
| 157 std::list<Request*> request_queue_; | 157 std::list<Request*> request_queue_; |
| 158 std::map<std::string, size_t> host_inflight_counts_; | 158 std::map<std::string, size_t> host_inflight_counts_; |
| 159 | 159 |
| 160 DISALLOW_COPY_AND_ASSIGN(ResourcePrefetcher); | 160 DISALLOW_COPY_AND_ASSIGN(ResourcePrefetcher); |
| 161 }; | 161 }; |
| 162 | 162 |
| 163 } // namespace predictors | 163 } // namespace predictors |
| 164 | 164 |
| 165 #endif // CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCHER_H_ | 165 #endif // CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCHER_H_ |
| OLD | NEW |