| Index: net/http/http_network_layer.cc
|
| diff --git a/net/http/http_network_layer.cc b/net/http/http_network_layer.cc
|
| index 0704de420de32d29349e8e6d50f311387a362db3..dc49691514d4e360723b8d19a87724621fa74188 100644
|
| --- a/net/http/http_network_layer.cc
|
| +++ b/net/http/http_network_layer.cc
|
| @@ -19,6 +19,8 @@
|
|
|
| namespace net {
|
|
|
| +HttpNetworkLayer::TransactionFactory* g_network_transaction_factory_ = NULL;
|
| +
|
| //-----------------------------------------------------------------------------
|
| HttpNetworkLayer::HttpNetworkLayer(HttpNetworkSession* session)
|
| : session_(session),
|
| @@ -57,6 +59,12 @@ void HttpNetworkLayer::ForceAlternateProtocol() {
|
| HttpServerPropertiesImpl::ForceAlternateProtocol(pair);
|
| }
|
|
|
| +// static
|
| +void HttpNetworkLayer::SetTransactionFactory(
|
| + HttpNetworkLayer::TransactionFactory* factory) {
|
| + g_network_transaction_factory_ = factory;
|
| +}
|
| +
|
| //-----------------------------------------------------------------------------
|
|
|
| int HttpNetworkLayer::CreateTransaction(RequestPriority priority,
|
| @@ -64,6 +72,10 @@ int HttpNetworkLayer::CreateTransaction(RequestPriority priority,
|
| if (suspended_)
|
| return ERR_NETWORK_IO_SUSPENDED;
|
|
|
| + if (g_network_transaction_factory_)
|
| + return g_network_transaction_factory_->CreateTransaction(
|
| + priority, GetSession(), trans);
|
| +
|
| trans->reset(new HttpNetworkTransaction(priority, GetSession()));
|
| return OK;
|
| }
|
|
|