summaryrefslogtreecommitdiffstats
path: root/net/http/http_cache.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/http/http_cache.cc')
-rw-r--r--net/http/http_cache.cc52
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