| 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 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 http_cache_); | 288 http_cache_); |
| 289 } | 289 } |
| 290 | 290 |
| 291 private: | 291 private: |
| 292 HttpCache* const http_cache_; | 292 HttpCache* const http_cache_; |
| 293 }; | 293 }; |
| 294 | 294 |
| 295 //----------------------------------------------------------------------------- | 295 //----------------------------------------------------------------------------- |
| 296 HttpCache::HttpCache(HttpNetworkSession* session, | 296 HttpCache::HttpCache(HttpNetworkSession* session, |
| 297 std::unique_ptr<BackendFactory> backend_factory, | 297 std::unique_ptr<BackendFactory> backend_factory, |
| 298 bool set_up_quic_server_info) | 298 bool is_main_cache) |
| 299 : HttpCache(base::MakeUnique<HttpNetworkLayer>(session), | 299 : HttpCache(base::MakeUnique<HttpNetworkLayer>(session), |
| 300 std::move(backend_factory), | 300 std::move(backend_factory), |
| 301 set_up_quic_server_info) {} | 301 is_main_cache) {} |
| 302 | 302 |
| 303 HttpCache::HttpCache(std::unique_ptr<HttpTransactionFactory> network_layer, | 303 HttpCache::HttpCache(std::unique_ptr<HttpTransactionFactory> network_layer, |
| 304 std::unique_ptr<BackendFactory> backend_factory, | 304 std::unique_ptr<BackendFactory> backend_factory, |
| 305 bool set_up_quic_server_info) | 305 bool is_main_cache) |
| 306 : net_log_(nullptr), | 306 : net_log_(nullptr), |
| 307 backend_factory_(std::move(backend_factory)), | 307 backend_factory_(std::move(backend_factory)), |
| 308 building_backend_(false), | 308 building_backend_(false), |
| 309 bypass_lock_for_test_(false), | 309 bypass_lock_for_test_(false), |
| 310 fail_conditionalization_for_test_(false), | 310 fail_conditionalization_for_test_(false), |
| 311 mode_(NORMAL), | 311 mode_(NORMAL), |
| 312 network_layer_(std::move(network_layer)), | 312 network_layer_(std::move(network_layer)), |
| 313 clock_(new base::DefaultClock()), | 313 clock_(new base::DefaultClock()), |
| 314 weak_factory_(this) { | 314 weak_factory_(this) { |
| 315 HttpNetworkSession* session = network_layer_->GetSession(); | 315 HttpNetworkSession* session = network_layer_->GetSession(); |
| 316 // Session may be NULL in unittests. | 316 // Session may be NULL in unittests. |
| 317 // TODO(mmenke): Seems like tests could be changed to provide a session, | 317 // TODO(mmenke): Seems like tests could be changed to provide a session, |
| 318 // rather than having logic only used in unit tests here. | 318 // rather than having logic only used in unit tests here. |
| 319 if (session) { | 319 if (session) { |
| 320 net_log_ = session->net_log(); | 320 net_log_ = session->net_log(); |
| 321 if (set_up_quic_server_info && | 321 if (is_main_cache && |
| 322 !session->quic_stream_factory()->has_quic_server_info_factory()) { | 322 !session->quic_stream_factory()->has_quic_server_info_factory()) { |
| 323 // QuicStreamFactory takes ownership of QuicServerInfoFactoryAdaptor. | 323 // QuicStreamFactory takes ownership of QuicServerInfoFactoryAdaptor. |
| 324 session->quic_stream_factory()->set_quic_server_info_factory( | 324 session->quic_stream_factory()->set_quic_server_info_factory( |
| 325 new QuicServerInfoFactoryAdaptor(this)); | 325 new QuicServerInfoFactoryAdaptor(this)); |
| 326 } | 326 } |
| 327 } | 327 } |
| 328 } | 328 } |
| 329 | 329 |
| 330 HttpCache::~HttpCache() { | 330 HttpCache::~HttpCache() { |
| 331 // Transactions should see an invalid cache after this point; otherwise they | 331 // Transactions should see an invalid cache after this point; otherwise they |
| (...skipping 822 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1154 building_backend_ = false; | 1154 building_backend_ = false; |
| 1155 DeletePendingOp(pending_op); | 1155 DeletePendingOp(pending_op); |
| 1156 } | 1156 } |
| 1157 | 1157 |
| 1158 // The cache may be gone when we return from the callback. | 1158 // The cache may be gone when we return from the callback. |
| 1159 if (!item->DoCallback(result, disk_cache_.get())) | 1159 if (!item->DoCallback(result, disk_cache_.get())) |
| 1160 item->NotifyTransaction(result, NULL); | 1160 item->NotifyTransaction(result, NULL); |
| 1161 } | 1161 } |
| 1162 | 1162 |
| 1163 } // namespace net | 1163 } // namespace net |
| OLD | NEW |