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 #include "net/http/http_cache.h" | 5 #include "net/http/http_cache.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 | 10 |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "net/http/http_cache_transaction.h" | 31 #include "net/http/http_cache_transaction.h" |
32 #include "net/http/http_network_layer.h" | 32 #include "net/http/http_network_layer.h" |
33 #include "net/http/http_network_session.h" | 33 #include "net/http/http_network_session.h" |
34 #include "net/http/http_request_info.h" | 34 #include "net/http/http_request_info.h" |
35 #include "net/http/http_response_headers.h" | 35 #include "net/http/http_response_headers.h" |
36 #include "net/http/http_response_info.h" | 36 #include "net/http/http_response_info.h" |
37 #include "net/http/http_util.h" | 37 #include "net/http/http_util.h" |
38 | 38 |
39 namespace net { | 39 namespace net { |
40 | 40 |
41 namespace { | |
42 | |
43 HttpNetworkSession* CreateNetworkSession( | |
44 HostResolver* host_resolver, | |
45 CertVerifier* cert_verifier, | |
46 ServerBoundCertService* server_bound_cert_service, | |
47 TransportSecurityState* transport_security_state, | |
48 ProxyService* proxy_service, | |
49 const std::string& ssl_session_cache_shard, | |
50 SSLConfigService* ssl_config_service, | |
51 HttpAuthHandlerFactory* http_auth_handler_factory, | |
52 NetworkDelegate* network_delegate, | |
53 HttpServerProperties* http_server_properties, | |
54 NetLog* net_log, | |
55 const std::string& trusted_spdy_proxy) { | |
56 HttpNetworkSession::Params params; | |
57 params.host_resolver = host_resolver; | |
58 params.cert_verifier = cert_verifier; | |
59 params.server_bound_cert_service = server_bound_cert_service; | |
60 params.transport_security_state = transport_security_state; | |
61 params.proxy_service = proxy_service; | |
62 params.ssl_session_cache_shard = ssl_session_cache_shard; | |
63 params.ssl_config_service = ssl_config_service; | |
64 params.http_auth_handler_factory = http_auth_handler_factory; | |
65 params.network_delegate = network_delegate; | |
66 params.http_server_properties = http_server_properties; | |
67 params.net_log = net_log; | |
68 params.trusted_spdy_proxy = trusted_spdy_proxy; | |
69 return new HttpNetworkSession(params); | |
70 } | |
71 | |
72 } // namespace | |
73 | |
74 HttpCache::DefaultBackend::DefaultBackend(CacheType type, | 41 HttpCache::DefaultBackend::DefaultBackend(CacheType type, |
75 const FilePath& path, | 42 const FilePath& path, |
76 int max_bytes, | 43 int max_bytes, |
77 base::MessageLoopProxy* thread) | 44 base::MessageLoopProxy* thread) |
78 : type_(type), | 45 : type_(type), |
79 path_(path), | 46 path_(path), |
80 max_bytes_(max_bytes), | 47 max_bytes_(max_bytes), |
81 thread_(thread) { | 48 thread_(thread) { |
82 } | 49 } |
83 | 50 |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
268 } | 235 } |
269 | 236 |
270 void HttpCache::MetadataWriter::OnIOComplete(int result) { | 237 void HttpCache::MetadataWriter::OnIOComplete(int result) { |
271 if (!verified_) | 238 if (!verified_) |
272 return VerifyResponse(result); | 239 return VerifyResponse(result); |
273 SelfDestroy(); | 240 SelfDestroy(); |
274 } | 241 } |
275 | 242 |
276 //----------------------------------------------------------------------------- | 243 //----------------------------------------------------------------------------- |
277 | 244 |
278 HttpCache::HttpCache(HostResolver* host_resolver, | 245 HttpCache::HttpCache(const net::HttpNetworkSession::Params& params, |
279 CertVerifier* cert_verifier, | 246 BackendFactory* backend_factory) |
280 ServerBoundCertService* server_bound_cert_service, | 247 : net_log_(params.net_log), |
281 TransportSecurityState* transport_security_state, | |
282 ProxyService* proxy_service, | |
283 const std::string& ssl_session_cache_shard, | |
284 SSLConfigService* ssl_config_service, | |
285 HttpAuthHandlerFactory* http_auth_handler_factory, | |
286 NetworkDelegate* network_delegate, | |
287 HttpServerProperties* http_server_properties, | |
288 NetLog* net_log, | |
289 BackendFactory* backend_factory, | |
290 const std::string& trusted_spdy_proxy) | |
291 : net_log_(net_log), | |
292 backend_factory_(backend_factory), | 248 backend_factory_(backend_factory), |
293 building_backend_(false), | 249 building_backend_(false), |
294 mode_(NORMAL), | 250 mode_(NORMAL), |
295 network_layer_( | 251 network_layer_(new HttpNetworkLayer(new HttpNetworkSession(params))) { |
296 new HttpNetworkLayer( | |
297 CreateNetworkSession( | |
298 host_resolver, | |
299 cert_verifier, | |
300 server_bound_cert_service, | |
301 transport_security_state, | |
302 proxy_service, | |
303 ssl_session_cache_shard, | |
304 ssl_config_service, | |
305 http_auth_handler_factory, | |
306 network_delegate, | |
307 http_server_properties, | |
308 net_log, | |
309 trusted_spdy_proxy))) { | |
310 } | 252 } |
311 | 253 |
312 | 254 |
313 HttpCache::HttpCache(HttpNetworkSession* session, | 255 HttpCache::HttpCache(HttpNetworkSession* session, |
314 BackendFactory* backend_factory) | 256 BackendFactory* backend_factory) |
315 : net_log_(session->net_log()), | 257 : net_log_(session->net_log()), |
316 backend_factory_(backend_factory), | 258 backend_factory_(backend_factory), |
317 building_backend_(false), | 259 building_backend_(false), |
318 mode_(NORMAL), | 260 mode_(NORMAL), |
319 network_layer_(new HttpNetworkLayer(session)) { | 261 network_layer_(new HttpNetworkLayer(session)) { |
(...skipping 827 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1147 building_backend_ = false; | 1089 building_backend_ = false; |
1148 DeletePendingOp(pending_op); | 1090 DeletePendingOp(pending_op); |
1149 } | 1091 } |
1150 | 1092 |
1151 // The cache may be gone when we return from the callback. | 1093 // The cache may be gone when we return from the callback. |
1152 if (!item->DoCallback(result, backend)) | 1094 if (!item->DoCallback(result, backend)) |
1153 item->NotifyTransaction(result, NULL); | 1095 item->NotifyTransaction(result, NULL); |
1154 } | 1096 } |
1155 | 1097 |
1156 } // namespace net | 1098 } // namespace net |
OLD | NEW |