summaryrefslogtreecommitdiffstats
path: root/net/http
diff options
context:
space:
mode:
authorericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-12 00:25:12 +0000
committerericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-12 00:25:12 +0000
commitec08bb23238e41b66daa676c3c55f23544a0de14 (patch)
treeaef939a8d5cccb67d037d8d055380a82e95bbfaa /net/http
parentdb471b330fc82a9f450807ec1f4307c29dda23c4 (diff)
downloadchromium_src-ec08bb23238e41b66daa676c3c55f23544a0de14.zip
chromium_src-ec08bb23238e41b66daa676c3c55f23544a0de14.tar.gz
chromium_src-ec08bb23238e41b66daa676c3c55f23544a0de14.tar.bz2
Add a "LoadLog" parameter to transactions, hostresolver, clientsocketpool and proyxservice.This dependency comes from the parent URLRequest, and is used as a container for per-request profiling data.This change is strictly a no-op refactor -- the parameter is unused, and LoadLog does nothing.BUG=http://crbug.com/14478TEST=none -- just needs to compile and pass existing tests.DESIGN=<http://docs.google.com/Doc?id=dfhcnb2v_21gbtrcpr3&hl=en>
Review URL: http://codereview.chromium.org/126303 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23127 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http')
-rw-r--r--net/http/http_cache.cc16
-rw-r--r--net/http/http_cache_unittest.cc28
-rw-r--r--net/http/http_network_layer_unittest.cc2
-rw-r--r--net/http/http_network_transaction.cc12
-rw-r--r--net/http/http_network_transaction.h4
-rw-r--r--net/http/http_network_transaction_unittest.cc100
-rw-r--r--net/http/http_transaction.h5
-rw-r--r--net/http/http_transaction_unittest.h7
8 files changed, 94 insertions, 80 deletions
diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
index b7707d1..5265ca7 100644
--- a/net/http/http_cache.cc
+++ b/net/http/http_cache.cc
@@ -194,7 +194,7 @@ class HttpCache::Transaction
virtual ~Transaction();
// HttpTransaction methods:
- virtual int Start(const HttpRequestInfo*, CompletionCallback*);
+ virtual int Start(LoadLog*, const HttpRequestInfo*, CompletionCallback*);
virtual int RestartIgnoringLastError(CompletionCallback*);
virtual int RestartWithCertificate(X509Certificate* client_cert,
CompletionCallback* callback);
@@ -256,7 +256,7 @@ class HttpCache::Transaction
int HandleResult(int rv);
// Sets request_ and fields derived from it.
- void SetRequest(const HttpRequestInfo* request);
+ void SetRequest(LoadLog* load_log, const HttpRequestInfo* request);
// Returns true if the request should be handled exclusively by the network
// layer (skipping the cache entirely).
@@ -365,6 +365,7 @@ class HttpCache::Transaction
// Called to signal completion of the cache's ReadData method:
void OnCacheReadCompleted(int result);
+ scoped_refptr<LoadLog> load_log_;
const HttpRequestInfo* request_;
scoped_ptr<HttpRequestInfo> custom_request_;
// If extra_headers specified a "if-modified-since" or "if-none-match",
@@ -409,7 +410,8 @@ HttpCache::Transaction::~Transaction() {
cache_ = NULL;
}
-int HttpCache::Transaction::Start(const HttpRequestInfo* request,
+int HttpCache::Transaction::Start(LoadLog* load_log,
+ const HttpRequestInfo* request,
CompletionCallback* callback) {
DCHECK(request);
DCHECK(callback);
@@ -420,7 +422,7 @@ int HttpCache::Transaction::Start(const HttpRequestInfo* request,
if (revoked())
return ERR_UNEXPECTED;
- SetRequest(request);
+ SetRequest(load_log, request);
int rv;
@@ -709,7 +711,9 @@ int HttpCache::Transaction::HandleResult(int rv) {
return rv;
}
-void HttpCache::Transaction::SetRequest(const HttpRequestInfo* request) {
+void HttpCache::Transaction::SetRequest(LoadLog* load_log,
+ const HttpRequestInfo* request) {
+ load_log_ = load_log;
request_ = request;
effective_load_flags_ = request_->load_flags;
@@ -978,7 +982,7 @@ int HttpCache::Transaction::BeginNetworkRequest() {
if (!network_trans_.get())
return net::ERR_CACHE_CANNOT_CREATE_NETWORK_TRANSACTION;
- int rv = network_trans_->Start(request_, &network_info_callback_);
+ int rv = network_trans_->Start(load_log_, request_, &network_info_callback_);
if (rv != ERR_IO_PENDING)
OnNetworkInfoAvailable(rv);
return rv;
diff --git a/net/http/http_cache_unittest.cc b/net/http/http_cache_unittest.cc
index 2efd751..a7b93e0 100644
--- a/net/http/http_cache_unittest.cc
+++ b/net/http/http_cache_unittest.cc
@@ -394,7 +394,7 @@ void RunTransactionTestWithRequest(net::HttpCache* cache,
scoped_ptr<net::HttpTransaction> trans(cache->CreateTransaction());
ASSERT_TRUE(trans.get());
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
if (rv == net::ERR_IO_PENDING)
rv = callback.WaitForResult();
ASSERT_EQ(net::OK, rv);
@@ -680,7 +680,7 @@ TEST(HttpCache, SimpleGET_LoadOnlyFromCache_Miss) {
cache.http_cache()->CreateTransaction());
ASSERT_TRUE(trans.get());
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
if (rv == net::ERR_IO_PENDING)
rv = callback.WaitForResult();
ASSERT_EQ(net::ERR_CACHE_MISS, rv);
@@ -837,7 +837,7 @@ TEST(HttpCache, SimpleGET_ManyReaders) {
new Context(cache.http_cache()->CreateTransaction()));
Context* c = context_list[i];
- int rv = c->trans->Start(&request, &c->callback);
+ int rv = c->trans->Start(NULL, &request, &c->callback);
if (rv != net::ERR_IO_PENDING)
c->result = rv;
}
@@ -891,7 +891,7 @@ TEST(HttpCache, SimpleGET_RacingReaders) {
if (i == 1 || i == 2)
this_request = &reader_request;
- int rv = c->trans->Start(this_request, &c->callback);
+ int rv = c->trans->Start(NULL, this_request, &c->callback);
if (rv != net::ERR_IO_PENDING)
c->result = rv;
}
@@ -963,7 +963,7 @@ TEST(HttpCache, FastNoStoreGET_DoneWithPending) {
new Context(cache.http_cache()->CreateTransaction()));
Context* c = context_list[i];
- int rv = c->trans->Start(&request, &c->callback);
+ int rv = c->trans->Start(NULL, &request, &c->callback);
if (rv != net::ERR_IO_PENDING)
c->result = rv;
}
@@ -1006,7 +1006,7 @@ TEST(HttpCache, SimpleGET_ManyWriters_CancelFirst) {
new Context(cache.http_cache()->CreateTransaction()));
Context* c = context_list[i];
- int rv = c->trans->Start(&request, &c->callback);
+ int rv = c->trans->Start(NULL, &request, &c->callback);
if (rv != net::ERR_IO_PENDING)
c->result = rv;
}
@@ -1058,7 +1058,7 @@ TEST(HttpCache, SimpleGET_AbandonedCacheRead) {
scoped_ptr<net::HttpTransaction> trans(
cache.http_cache()->CreateTransaction());
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
if (rv == net::ERR_IO_PENDING)
rv = callback.WaitForResult();
ASSERT_EQ(net::OK, rv);
@@ -1573,7 +1573,7 @@ TEST(HttpCache, SimplePOST_LoadOnlyFromCache_Miss) {
cache.http_cache()->CreateTransaction());
ASSERT_TRUE(trans.get());
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
if (rv == net::ERR_IO_PENDING)
rv = callback.WaitForResult();
ASSERT_EQ(net::ERR_CACHE_MISS, rv);
@@ -1977,13 +1977,13 @@ TEST(HttpCache, SyncRead) {
c2(cache.http_cache()),
c3(cache.http_cache());
- c1.Start(&r1);
+ c1.Start(NULL, &r1);
r2.load_flags |= net::LOAD_ONLY_FROM_CACHE;
- c2.Start(&r2);
+ c2.Start(NULL, &r2);
r3.load_flags |= net::LOAD_ONLY_FROM_CACHE;
- c3.Start(&r3);
+ c3.Start(NULL, &r3);
MessageLoop::current()->Run();
@@ -2030,7 +2030,7 @@ TEST(HttpCache, CachedRedirect) {
cache.http_cache()->CreateTransaction());
ASSERT_TRUE(trans.get());
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
if (rv == net::ERR_IO_PENDING)
rv = callback.WaitForResult();
ASSERT_EQ(net::OK, rv);
@@ -2057,7 +2057,7 @@ TEST(HttpCache, CachedRedirect) {
cache.http_cache()->CreateTransaction());
ASSERT_TRUE(trans.get());
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
if (rv == net::ERR_IO_PENDING)
rv = callback.WaitForResult();
ASSERT_EQ(net::OK, rv);
@@ -2184,7 +2184,7 @@ TEST(HttpCache, SimpleGET_SSLError) {
cache.http_cache()->CreateTransaction());
ASSERT_TRUE(trans.get());
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
if (rv == net::ERR_IO_PENDING)
rv = callback.WaitForResult();
ASSERT_EQ(net::ERR_CACHE_MISS, rv);
diff --git a/net/http/http_network_layer_unittest.cc b/net/http/http_network_layer_unittest.cc
index b61ca3d..064a8e4 100644
--- a/net/http/http_network_layer_unittest.cc
+++ b/net/http/http_network_layer_unittest.cc
@@ -69,7 +69,7 @@ TEST_F(HttpNetworkLayerTest, GET) {
request_info.user_agent = "Foo/1.0";
request_info.load_flags = net::LOAD_NORMAL;
- int rv = trans->Start(&request_info, &callback);
+ int rv = trans->Start(NULL, &request_info, &callback);
if (rv == net::ERR_IO_PENDING)
rv = callback.WaitForResult();
ASSERT_EQ(net::OK, rv);
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
index f4894de..1a1b2f0 100644
--- a/net/http/http_network_transaction.cc
+++ b/net/http/http_network_transaction.cc
@@ -161,10 +161,12 @@ HttpNetworkTransaction::HttpNetworkTransaction(HttpNetworkSession* session,
#endif
}
-int HttpNetworkTransaction::Start(const HttpRequestInfo* request_info,
+int HttpNetworkTransaction::Start(LoadLog* load_log,
+ const HttpRequestInfo* request_info,
CompletionCallback* callback) {
UpdateConnectionTypeHistograms(CONNECTION_ANY);
+ load_log_ = load_log;
request_ = request_info;
start_time_ = base::Time::Now();
@@ -540,7 +542,7 @@ int HttpNetworkTransaction::DoResolveProxy() {
}
return session_->proxy_service()->ResolveProxy(
- request_->url, &proxy_info_, &io_callback_, &pac_request_);
+ load_log_, request_->url, &proxy_info_, &io_callback_, &pac_request_);
}
int HttpNetworkTransaction::DoResolveProxyComplete(int result) {
@@ -627,8 +629,8 @@ int HttpNetworkTransaction::DoInitConnection() {
transport_socket_request_time_ = base::TimeTicks::Now();
- int rv = connection_.Init(connection_group, resolve_info, request_->priority,
- &io_callback_);
+ int rv = connection_.Init(NULL, connection_group, resolve_info,
+ request_->priority, &io_callback_);
return rv;
}
@@ -1544,7 +1546,7 @@ int HttpNetworkTransaction::ReconsiderProxyAfterError(int error) {
}
int rv = session_->proxy_service()->ReconsiderProxyAfterError(
- request_->url, &proxy_info_, &io_callback_, &pac_request_);
+ load_log_, request_->url, &proxy_info_, &io_callback_, &pac_request_);
if (rv == OK || rv == ERR_IO_PENDING) {
// If the error was during connection setup, there is no socket to
// disconnect.
diff --git a/net/http/http_network_transaction.h b/net/http/http_network_transaction.h
index 83524c4..301aa92 100644
--- a/net/http/http_network_transaction.h
+++ b/net/http/http_network_transaction.h
@@ -41,7 +41,8 @@ class HttpNetworkTransaction : public HttpTransaction {
virtual ~HttpNetworkTransaction();
// HttpTransaction methods:
- virtual int Start(const HttpRequestInfo* request_info,
+ virtual int Start(LoadLog* load_log,
+ const HttpRequestInfo* request_info,
CompletionCallback* callback);
virtual int RestartIgnoringLastError(CompletionCallback* callback);
virtual int RestartWithCertificate(X509Certificate* client_cert,
@@ -302,6 +303,7 @@ class HttpNetworkTransaction : public HttpTransaction {
scoped_refptr<HttpNetworkSession> session_;
+ scoped_refptr<LoadLog> load_log_;
const HttpRequestInfo* request_;
HttpResponseInfo response_;
diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc
index 44a06e7..05bb734 100644
--- a/net/http/http_network_transaction_unittest.cc
+++ b/net/http/http_network_transaction_unittest.cc
@@ -96,7 +96,7 @@ class HttpNetworkTransactionTest : public PlatformTest {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
out.rv = callback.WaitForResult();
@@ -169,7 +169,8 @@ class CaptureGroupNameSocketPool : public ClientSocketPool {
public:
CaptureGroupNameSocketPool() {
}
- virtual int RequestSocket(const std::string& group_name,
+ virtual int RequestSocket(LoadLog* load_log,
+ const std::string& group_name,
const HostResolver::RequestInfo& resolve_info,
int priority,
ClientSocketHandle* handle,
@@ -351,7 +352,7 @@ TEST_F(HttpNetworkTransactionTest, Head) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -409,7 +410,7 @@ TEST_F(HttpNetworkTransactionTest, ReuseConnection) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -453,7 +454,7 @@ TEST_F(HttpNetworkTransactionTest, Ignores100) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -497,7 +498,7 @@ TEST_F(HttpNetworkTransactionTest, Ignores1xx) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -553,7 +554,7 @@ void HttpNetworkTransactionTest::KeepAliveConnectionResendRequestTest(
scoped_ptr<HttpTransaction> trans(
new HttpNetworkTransaction(session, &session_deps.socket_factory));
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -605,7 +606,7 @@ TEST_F(HttpNetworkTransactionTest, NonKeepAliveConnectionReset) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -692,7 +693,7 @@ TEST_F(HttpNetworkTransactionTest, BasicAuth) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -768,7 +769,7 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthKeepAlive) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -847,7 +848,7 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthKeepAliveNoBody) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -929,7 +930,7 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthKeepAliveLargeBody) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -1010,7 +1011,7 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthProxyKeepAlive) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -1092,7 +1093,7 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthProxyCancelTunnel) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -1145,7 +1146,7 @@ void HttpNetworkTransactionTest::ConnectStatusHelperWithExpectedStatus(
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -1405,7 +1406,7 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthProxyThenServer) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -1540,7 +1541,7 @@ TEST_F(HttpNetworkTransactionTest, NTLMAuth1) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -1714,7 +1715,7 @@ TEST_F(HttpNetworkTransactionTest, NTLMAuth2) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -1809,7 +1810,7 @@ TEST_F(HttpNetworkTransactionTest, LargeHeadersNoBody) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -1857,7 +1858,7 @@ TEST_F(HttpNetworkTransactionTest, DontRecycleTCPSocketForSSLTunnel) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -1907,7 +1908,7 @@ TEST_F(HttpNetworkTransactionTest, RecycleSocket) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -1965,7 +1966,7 @@ TEST_F(HttpNetworkTransactionTest, RecycleSocketAfterZeroContentLength) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -2059,7 +2060,7 @@ TEST_F(HttpNetworkTransactionTest, ResendRequestOnWriteBodyError) {
TestCompletionCallback callback;
- int rv = trans->Start(&request[i], &callback);
+ int rv = trans->Start(NULL, &request[i], &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -2129,7 +2130,7 @@ TEST_F(HttpNetworkTransactionTest, AuthIdentityInUrl) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -2205,7 +2206,7 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthCacheAndPreauth) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -2289,7 +2290,7 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthCacheAndPreauth) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -2354,7 +2355,7 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthCacheAndPreauth) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -2415,7 +2416,7 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthCacheAndPreauth) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -2502,7 +2503,7 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthCacheAndPreauth) {
TestCompletionCallback callback1;
- int rv = trans->Start(&request, &callback1);
+ int rv = trans->Start(NULL, &request, &callback1);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback1.WaitForResult();
@@ -2639,7 +2640,7 @@ TEST_F(HttpNetworkTransactionTest, HTTPSBadCertificate) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -2715,7 +2716,7 @@ TEST_F(HttpNetworkTransactionTest, HTTPSBadCertificateViaProxy) {
CreateSession(&session_deps),
&session_deps.socket_factory));
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -2766,7 +2767,7 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_UserAgent) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -2806,7 +2807,7 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_Referer) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -2844,7 +2845,7 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_PostContentLengthZero) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -2882,7 +2883,7 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_PutContentLengthZero) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -2920,7 +2921,7 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_HeadContentLengthZero) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -2960,7 +2961,7 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_CacheControlNoCache) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -3000,7 +3001,7 @@ TEST_F(HttpNetworkTransactionTest,
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -3039,7 +3040,7 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_ExtraHeaders) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -3084,7 +3085,7 @@ TEST_F(HttpNetworkTransactionTest, SOCKS4_HTTP_GET) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -3142,7 +3143,7 @@ TEST_F(HttpNetworkTransactionTest, SOCKS4_SSL_GET) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -3201,7 +3202,7 @@ TEST_F(HttpNetworkTransactionTest, SOCKS5_HTTP_GET) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -3264,7 +3265,7 @@ TEST_F(HttpNetworkTransactionTest, SOCKS5_SSL_GET) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -3344,7 +3345,7 @@ TEST_F(HttpNetworkTransactionTest, GroupNameForProxyConnections) {
TestCompletionCallback callback;
// We do not complete this request, the dtor will clean the transaction up.
- EXPECT_EQ(ERR_IO_PENDING, trans->Start(&request, &callback));
+ EXPECT_EQ(ERR_IO_PENDING, trans->Start(NULL, &request, &callback));
EXPECT_EQ(tests[i].expected_group_name,
conn_pool->last_group_name_received());
}
@@ -3367,7 +3368,7 @@ TEST_F(HttpNetworkTransactionTest, ReconsiderProxyAfterFailedConnection) {
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -3443,7 +3444,7 @@ TEST_F(HttpNetworkTransactionTest, ResolveMadeWithReferrer) {
// Run the request until it fails reading from the socket.
TestCompletionCallback callback;
- int rv = trans->Start(&request, &callback);
+ int rv = trans->Start(NULL, &request, &callback);
EXPECT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
EXPECT_EQ(ERR_FAILED, rv);
@@ -3467,13 +3468,14 @@ TEST_F(HttpNetworkTransactionTest, BypassHostCacheOnRefresh) {
// a synchronous lookup.)
AddressList addrlist;
int rv = session_deps.host_resolver->Resolve(
- HostResolver::RequestInfo("www.google.com", 80), &addrlist, NULL, NULL);
+ NULL, HostResolver::RequestInfo("www.google.com", 80), &addrlist,
+ NULL, NULL);
EXPECT_EQ(OK, rv);
// Verify that it was added to host cache, by doing a subsequent async lookup
// and confirming it completes synchronously.
TestCompletionCallback resolve_callback;
- rv = session_deps.host_resolver->Resolve(
+ rv = session_deps.host_resolver->Resolve(NULL,
HostResolver::RequestInfo("www.google.com", 80), &addrlist,
&resolve_callback, NULL);
ASSERT_EQ(OK, rv);
@@ -3497,7 +3499,7 @@ TEST_F(HttpNetworkTransactionTest, BypassHostCacheOnRefresh) {
// Run the request.
TestCompletionCallback callback;
- rv = trans->Start(&request, &callback);
+ rv = trans->Start(NULL, &request, &callback);
ASSERT_EQ(ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
diff --git a/net/http/http_transaction.h b/net/http/http_transaction.h
index 14612e9..962a7ac 100644
--- a/net/http/http_transaction.h
+++ b/net/http/http_transaction.h
@@ -13,6 +13,7 @@ namespace net {
class HttpRequestInfo;
class HttpResponseInfo;
class IOBuffer;
+class LoadLog;
class X509Certificate;
// Represents a single HTTP transaction (i.e., a single request/response pair).
@@ -36,7 +37,9 @@ class HttpTransaction {
//
// NOTE: The transaction is not responsible for deleting the callback object.
//
- virtual int Start(const HttpRequestInfo* request_info,
+ // Profiling information for the request is saved to |load_log| if non-NULL.
+ virtual int Start(LoadLog* load_log,
+ const HttpRequestInfo* request_info,
CompletionCallback* callback) = 0;
// Restarts the HTTP transaction, ignoring the last error. This call can
diff --git a/net/http/http_transaction_unittest.h b/net/http/http_transaction_unittest.h
index f72c305..7aee84f 100644
--- a/net/http/http_transaction_unittest.h
+++ b/net/http/http_transaction_unittest.h
@@ -108,9 +108,9 @@ class TestTransactionConsumer : public CallbackRunner< Tuple1<int> > {
~TestTransactionConsumer() {
}
- void Start(const net::HttpRequestInfo* request) {
+ void Start(net::LoadLog* load_log, const net::HttpRequestInfo* request) {
state_ = STARTING;
- int result = trans_->Start(request, this);
+ int result = trans_->Start(load_log, request, this);
if (result != net::ERR_IO_PENDING)
DidStart(result);
}
@@ -199,7 +199,8 @@ class MockNetworkTransaction : public net::HttpTransaction {
ALLOW_THIS_IN_INITIALIZER_LIST(task_factory_(this)), data_cursor_(0) {
}
- virtual int Start(const net::HttpRequestInfo* request,
+ virtual int Start(net::LoadLog* load_log,
+ const net::HttpRequestInfo* request,
net::CompletionCallback* callback) {
const MockTransaction* t = FindMockTransaction(request->url);
if (!t)