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