diff options
Diffstat (limited to 'net/http/http_cache.cc')
-rw-r--r-- | net/http/http_cache.cc | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc index 7494b86..6a33acb 100644 --- a/net/http/http_cache.cc +++ b/net/http/http_cache.cc @@ -74,9 +74,11 @@ HttpCache::DefaultBackend::DefaultBackend( HttpCache::DefaultBackend::~DefaultBackend() {} // static -HttpCache::BackendFactory* HttpCache::DefaultBackend::InMemory(int max_bytes) { - return new DefaultBackend(MEMORY_CACHE, CACHE_BACKEND_DEFAULT, - base::FilePath(), max_bytes, NULL); +scoped_ptr<HttpCache::BackendFactory> HttpCache::DefaultBackend::InMemory( + int max_bytes) { + return make_scoped_ptr(new DefaultBackend(MEMORY_CACHE, CACHE_BACKEND_DEFAULT, + base::FilePath(), max_bytes, + nullptr)); } int HttpCache::DefaultBackend::CreateBackend( @@ -294,31 +296,38 @@ class HttpCache::QuicServerInfoFactoryAdaptor : public QuicServerInfoFactory { }; //----------------------------------------------------------------------------- -// This call doesn't change the shared |session|'s QuicServerInfoFactory because -// |session| is shared. HttpCache::HttpCache(HttpNetworkSession* session, - BackendFactory* backend_factory, + scoped_ptr<BackendFactory> backend_factory, bool set_up_quic_server_info) - : HttpCache(new HttpNetworkLayer(session), - session->net_log(), - backend_factory, + : HttpCache(make_scoped_ptr(new HttpNetworkLayer(session)), + backend_factory.Pass(), set_up_quic_server_info) {} -HttpCache::HttpCache(HttpTransactionFactory* network_layer, - NetLog* net_log, - BackendFactory* backend_factory, +HttpCache::HttpCache(scoped_ptr<HttpTransactionFactory> network_layer, + scoped_ptr<BackendFactory> backend_factory, bool set_up_quic_server_info) - : net_log_(net_log), - backend_factory_(backend_factory), + : net_log_(nullptr), + backend_factory_(backend_factory.Pass()), building_backend_(false), bypass_lock_for_test_(false), fail_conditionalization_for_test_(false), mode_(NORMAL), - network_layer_(network_layer), + network_layer_(network_layer.Pass()), clock_(new base::DefaultClock()), weak_factory_(this) { - if (set_up_quic_server_info) - SetupQuicServerInfoFactory(network_layer_->GetSession()); + HttpNetworkSession* session = network_layer_->GetSession(); + // Session may be NULL in unittests. + // TODO(mmenke): Seems like tests could be changed to provide a session, + // rather than having logic only used in unit tests here. + if (session) { + net_log_ = session->net_log(); + if (set_up_quic_server_info && + !session->quic_stream_factory()->has_quic_server_info_factory()) { + // QuicStreamFactory takes ownership of QuicServerInfoFactoryAdaptor. + session->quic_stream_factory()->set_quic_server_info_factory( + new QuicServerInfoFactoryAdaptor(this)); + } + } } HttpCache::~HttpCache() { @@ -978,15 +987,6 @@ bool HttpCache::RemovePendingTransactionFromPendingOp(PendingOp* pending_op, return false; } -void HttpCache::SetupQuicServerInfoFactory(HttpNetworkSession* session) { - if (session && - !session->quic_stream_factory()->has_quic_server_info_factory()) { - // QuicStreamFactory takes ownership of QuicServerInfoFactoryAdaptor. - session->quic_stream_factory()->set_quic_server_info_factory( - new QuicServerInfoFactoryAdaptor(this)); - } -} - void HttpCache::ProcessPendingQueue(ActiveEntry* entry) { // Multiple readers may finish with an entry at once, so we want to batch up // calls to OnProcessPendingQueue. This flag also tells us that we should |