Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(682)

Unified Diff: net/http/http_network_layer.cc

Issue 19747: URLRequestContext and disk cache for media files (Closed)
Patch Set: signed and unsigned... Created 11 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/http/http_network_layer.h ('k') | net/http/http_response_info.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/http/http_network_layer.cc
diff --git a/net/http/http_network_layer.cc b/net/http/http_network_layer.cc
index 23f53f7764be2175be528aa5966c7c483cc91974..84c22d3cc9da0884a1274429a964a9bba6a9b947 100644
--- a/net/http/http_network_layer.cc
+++ b/net/http/http_network_layer.cc
@@ -21,13 +21,26 @@ HttpTransactionFactory* HttpNetworkLayer::CreateFactory(
return new HttpNetworkLayer(proxy_service);
}
+// static
+HttpTransactionFactory* HttpNetworkLayer::CreateFactory(
+ HttpNetworkSession* session) {
+ DCHECK(session);
+
+ return new HttpNetworkLayer(session);
+}
+
//-----------------------------------------------------------------------------
HttpNetworkLayer::HttpNetworkLayer(ProxyService* proxy_service)
- : proxy_service_(proxy_service), suspended_(false) {
+ : proxy_service_(proxy_service), session_(NULL), suspended_(false) {
DCHECK(proxy_service_);
}
+HttpNetworkLayer::HttpNetworkLayer(HttpNetworkSession* session)
+ : proxy_service_(NULL), session_(session), suspended_(false) {
+ DCHECK(session_.get());
+}
+
HttpNetworkLayer::~HttpNetworkLayer() {
}
@@ -35,11 +48,8 @@ HttpTransaction* HttpNetworkLayer::CreateTransaction() {
if (suspended_)
return NULL;
- if (!session_)
- session_ = new HttpNetworkSession(proxy_service_);
-
return new HttpNetworkTransaction(
- session_, ClientSocketFactory::GetDefaultFactory());
+ GetSession(), ClientSocketFactory::GetDefaultFactory());
}
HttpCache* HttpNetworkLayer::GetCache() {
@@ -53,5 +63,13 @@ void HttpNetworkLayer::Suspend(bool suspend) {
session_->connection_pool()->CloseIdleSockets();
}
+HttpNetworkSession* HttpNetworkLayer::GetSession() {
+ if (session_) {
+ DCHECK(proxy_service_);
+ session_ = new HttpNetworkSession(proxy_service_);
+ }
+ return session_;
+}
+
} // namespace net
« no previous file with comments | « net/http/http_network_layer.h ('k') | net/http/http_response_info.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698